{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "c979f719-a7bd-4392-86f9-f699220b2c93",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>STATEFP20</th>\n",
       "      <th>COUNTYFP20</th>\n",
       "      <th>TRACTCE20</th>\n",
       "      <th>GEOID20</th>\n",
       "      <th>NAME20</th>\n",
       "      <th>NAMELSAD20</th>\n",
       "      <th>MTFCC20</th>\n",
       "      <th>FUNCSTAT20</th>\n",
       "      <th>ALAND20</th>\n",
       "      <th>AWATER20</th>\n",
       "      <th>...</th>\n",
       "      <th>P0050002</th>\n",
       "      <th>P0050003</th>\n",
       "      <th>P0050004</th>\n",
       "      <th>P0050005</th>\n",
       "      <th>P0050006</th>\n",
       "      <th>P0050007</th>\n",
       "      <th>P0050008</th>\n",
       "      <th>P0050009</th>\n",
       "      <th>P0050010</th>\n",
       "      <th>geometry</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>26</td>\n",
       "      <td>163</td>\n",
       "      <td>591900</td>\n",
       "      <td>26163591900</td>\n",
       "      <td>5919</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>5033701</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>POLYGON ((-83.24385 42.08143, -83.24375 42.081...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>26</td>\n",
       "      <td>163</td>\n",
       "      <td>592000</td>\n",
       "      <td>26163592000</td>\n",
       "      <td>5920</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>12758140</td>\n",
       "      <td>4008857</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>POLYGON ((-83.23187 42.07831, -83.23075 42.079...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>26</td>\n",
       "      <td>163</td>\n",
       "      <td>593200</td>\n",
       "      <td>26163593200</td>\n",
       "      <td>5932</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>2056711</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>POLYGON ((-83.25654 42.15356, -83.25327 42.153...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>26</td>\n",
       "      <td>163</td>\n",
       "      <td>594000</td>\n",
       "      <td>26163594000</td>\n",
       "      <td>5940</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>5032161</td>\n",
       "      <td>169441</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>POLYGON ((-83.18951 42.14131, -83.18868 42.142...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>26</td>\n",
       "      <td>163</td>\n",
       "      <td>594100</td>\n",
       "      <td>26163594100</td>\n",
       "      <td>5941</td>\n",
       "      <td>Census Tract</td>\n",
       "      <td>G5020</td>\n",
       "      <td>S</td>\n",
       "      <td>2479041</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>POLYGON ((-83.20697 42.14824, -83.20675 42.150...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 345 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  STATEFP20 COUNTYFP20 TRACTCE20      GEOID20 NAME20    NAMELSAD20 MTFCC20  \\\n",
       "0        26        163    591900  26163591900   5919  Census Tract   G5020   \n",
       "1        26        163    592000  26163592000   5920  Census Tract   G5020   \n",
       "2        26        163    593200  26163593200   5932  Census Tract   G5020   \n",
       "3        26        163    594000  26163594000   5940  Census Tract   G5020   \n",
       "4        26        163    594100  26163594100   5941  Census Tract   G5020   \n",
       "\n",
       "  FUNCSTAT20   ALAND20  AWATER20  ... P0050002 P0050003 P0050004 P0050005  \\\n",
       "0          S   5033701         0  ...        0        0        0        0   \n",
       "1          S  12758140   4008857  ...        0        0        0        0   \n",
       "2          S   2056711         0  ...        0        0        0        0   \n",
       "3          S   5032161    169441  ...        0        0        0        0   \n",
       "4          S   2479041         0  ...        0        0        0        0   \n",
       "\n",
       "  P0050006 P0050007 P0050008 P0050009 P0050010  \\\n",
       "0        0        7        0        0        7   \n",
       "1        0        8        0        0        8   \n",
       "2        0        2        0        0        2   \n",
       "3        0        0        0        0        0   \n",
       "4        0       12        0        0       12   \n",
       "\n",
       "                                            geometry  \n",
       "0  POLYGON ((-83.24385 42.08143, -83.24375 42.081...  \n",
       "1  POLYGON ((-83.23187 42.07831, -83.23075 42.079...  \n",
       "2  POLYGON ((-83.25654 42.15356, -83.25327 42.153...  \n",
       "3  POLYGON ((-83.18951 42.14131, -83.18868 42.142...  \n",
       "4  POLYGON ((-83.20697 42.14824, -83.20675 42.150...  \n",
       "\n",
       "[5 rows x 345 columns]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# this is for working with census tracts and VTD precincts\n",
    "from shapely.geometry import Point, LineString, Polygon\n",
    "import shapely\n",
    "import geopandas as gpd\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from numpy import random\n",
    "from scipy.stats import norm\n",
    "import math\n",
    "tractPopFile = gpd.read_file(\"state_map_files/mi_pl2020_t.dbf\") #for Texas, need only this file\n",
    "tractPopFile.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "3e4af1be-0f6a-4c46-9d23-da70d63c30e8",
   "metadata": {},
   "outputs": [],
   "source": [
    "#handy function for plotting Polygon or multiPolygon tracts and precincts\n",
    "def plotPoly(inputPoly):\n",
    "    simplePoly = Polygon([(0,0),(0,1),(1,1)])\n",
    "    if inputPoly.type == simplePoly.type:\n",
    "        x,y = inputPoly.exterior.xy\n",
    "        plt.plot(x,y)\n",
    "    else:\n",
    "        for geom in inputPoly.geoms:\n",
    "            x,y = geom.exterior.xy\n",
    "            plt.plot(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a7a90b04-4b48-4ab8-9195-8d953907c3fb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "there are 3017 popn tracts for MI\n"
     ]
    }
   ],
   "source": [
    "# EXTRACT TRACT GEOMETRIES AND POPULATIONS INTO LISTS, COMPUTE TRACT AREAS\n",
    "# If the population and geometry data are in one file, this should work.\n",
    "STATE = \"MI\"\n",
    "tractGeom = tractPopFile['geometry']  #for some states, replace with tractGeomFile\n",
    "tractPop = tractPopFile['P0010001']\n",
    "tractVAP = tractPopFile['P0030001']   #NEW 3/2/22 - USE VAP\n",
    "# tractPop2 = tractPopFile['P0020001']   #not needed; confirmed that this matches P00100001 exactly\n",
    "tractHisp = tractPopFile['P0040002']   #NEW 3/2/22 - USE VAP\n",
    "tractBlack = tractPopFile['P0030004']  #NEW 3/2/22 - USE VAP\n",
    "nTracts = len(tractPop)\n",
    "print(\"there are {0} popn tracts for {1}\".format(nTracts, STATE) )\n",
    "tractArea = [0.]*nTracts\n",
    "for t in range (0,nTracts) :\n",
    "    tractArea[t] = tractGeom[t].area\n",
    "isSkippedTract = [0] *nTracts  #this will house a temporary list of tracts for manipulation\n",
    "tractPop = tractPop.to_numpy()  #to avoid panda overwrite grousing\n",
    "tractBlack= tractBlack.to_numpy()\n",
    "tractHisp = tractHisp.to_numpy()\n",
    "tractVAP = tractVAP.to_numpy()\n",
    "stateVAP = np.sum(tractVAP)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "5e8f8f92-a336-43e5-8ac5-20c657cb5857",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "looking for nonPolygons in census tract data\n",
      "2215 2721 0.04803668652100095 nonPolygon tract no, pop, area\n",
      "4.374797700001456e-05\n",
      "0.04799293854400094\n",
      "2335 2334 0.016255610913499863 nonPolygon tract no, pop, area\n",
      "0.014644414102499809\n",
      "0.0016111968110000528\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAeeklEQVR4nO3de3RV9Z338feHhHCPIEQtJBIVUVERa7RYlAJlrALVqp2CFbWXR55HR0odLxX1WeqMbfFSS+uwnIeC1YpLK/UyrVKrjqPVmYoEsQLiBSkCohCshVi55/v8sQ8akhNyQi4HNp/XWllnn71/v3O+Z6/wyY/f2RdFBGZmll7t8l2AmZm1Lge9mVnKOejNzFLOQW9mlnIOejOzlCvMdwHZ9OrVK8rLy/NdhpnZXmP+/PnrIqIk27Y9MujLy8uprKzMdxlmZnsNSe82tM1TN2ZmKeegNzNLOQe9mVnKOejNzFLOQW9mlnIOejOzlHPQm5ml3B55HH2refdPsPEj6Fhcf9tOl2uO7Ou7lMCBA1qtPDOz1rDvBP07z8J9ZzfvNdQOrnoHOu/fMjWZmbWBfSPo3/8z/PoC2P8w+MoPoahL/TbrVwGC/UpBqrUhs/zW7+F/7oStG9uiYjOzFpP+oP9oOcz6OnTqAd96Aoo/V79N9QdJm5qtcOa/wfHn12/z4duZBd+Ry8z2Lun+MvbvH8Ksc2H7Fhj/8M4hX1OT/AC8dBds3wwFHeA/Lk36VL1Z58UyI3vfetHM9jLpHdFv2gAPjE2mZC78Dyg5Av78a3jjcdi8AVbOS0bwhZ1g83oYOBbOvBMeuxTeehJ+OxG++9Rnr/fpdI6D3sz2LukK+gh45Vfw5wdg1Tyo2Q5j74ODByeB/+gEaN8FevSFgf8I1WuSqZ3PnQGjb4fCDjD0Klj0G1g5N/lj8ekROtrVO5uZ7bHSE/Sb1sOUg5PlA4+Bky+DI8dA2YnJuo1/Sx7PvgsGnNXw67yXuTzywHHQodtn6+WpGzPbO6Un6GsH8P9+AdrV+fohtiePKsje/4kr4JX7krl6gH/4l+xH33jqxsz2Mjl/GSupQNICSY9nnv9a0quZn+WSXs3Sp0zSf0laImmxpEktWPvOOnWHwf+UHOv+8Qf1t+8Y0berE/Tbt8L934B5M5KQb1cIg86Hbgfu3M4jejPbSzXlqJtJwJIdTyJibEQMiohBwMPAI1n6bAOuiIijgMHAP0lqvVNLjzkHogZWL6i/7dfjk8f2nXdev2kDvP2HZPnbv4fr17Kg78UMGTKEoUOHMmLECJYtW8avfvcCX5jxMUPHjGXcuHFs3pyM/B999FGOOuooOnbsuNPLDhs2jJNPPplhw4YxceLElv6kZmY5yynoJZUCo4EZWbYJ+AbwQN1tEfF+RLySWa4m+UPRpzkF79KOE6GeuQm2bd55W0F76NYb+g7ZeX2XnlCamcf/5Rkw5WA+V7SJJ598kj/+8Y9ceeWV3HDDDZzy+SP5n+904Y8/PJuD23/ErH+dAC//gqFdl7PgxWcoLS2tV87s2bN57rnnuPPOO1vhw5qZ5SbXOfqpwNVAtyzbTgXWRMTbWbZ9SlI5cDwwt4HtE4AJAAcffHCOZdXR7SAo7Ajr3oSnb4Azpny2rbATHPolKMjykb/7NKx4KZmnX7uYgzp8At2Sj1pUVERhYSGHHjUI5gmen0LRu5sorG4HhY/RE6C4/pm2khg3bhxFRUVcf/31jBgxYvc+k5lZMzU6opc0BlgbEfMbaHIeWUbzdV6jK8n0zvcjYkO2NhExPSIqIqKipCTrjcwb16kH/GA5nDQB5t4FPz4YHjwffvs92LCq/ij/swKh78lwyuXJ8w7JIZV///vfue6667jqqquSPxI/eJclX/09czYcwdiZb0O/kUn748bVe8nZs2fz4osvcu+993LJJZdQXV29e5/JzKyZcpm6GQKcKWk58CAwQtIsAEmFwDnArxvqLKk9ScjfHxHZ5vFbVvtO8JUfwxcnJidC/XUZvDkn2fbuf++671/fSR4LO7B161bGjh3L5MmTGTAg+Vph1Ycf861LL2f2w4/SsWdp8tpHnZn1api9evUCoKysjOOOO46lS5e22Ec0M2uKRqduImIyMBlA0jDgyojIfLPJSOCNiFiVrW9m/n4msCQi7miJgnNSUAin3Zz8QHKkzIJZ2S9PvMNHy+G/fwb9T6fmgKMZ/81v8rWvfY2vfe1rAKxbt45zzz2Xu+66i8MOOyx5zfWr4Kiv1nupiKC6upri4mKqq6tZuHAhffv2bfnPaWaWg+YeRz+OOtM2knoDMyJiFMn/Bi4AFtY6/PLaiJjTzPdtGgk+f8Gu2zz7Q0Aw+ic88uijPPHEE6xZs4ZZs2Zx7LHHEhG89957/PM//zMAF3zzPL67fQsvvFHFTbeMZPXq1YwcOZJLL72Ur371qwwfPpxOnTqxdetWbrzxRvbf35c2NrP8UOyBx4VXVFREZWVl277plMyI+5p3c2sfAbcdBr2OgO/8vvXqMjPLgaT5EVGRbVu6r17ZFCd8Czb9LbniZWM2fpR8sdujHFb8D2xY3crFmZntPgf9DkeOTh6X/3HX7ebNgFsOgTuOTM6iLewEnXu2fn1mZrvJQb9Dr/7J4/r3Gm7zt5Xw+x9A1wOTUf3KuXDavyZXvTQz20Ol56JmzZXL9eY/XgM122DMHcmx9hKUn9Im5ZmZ7S4H/Q47RvKddnF0zMaPksfOveDgL7R+TWZmLcBTNzssfyF5LB/ScJtV85KrY5b0b5uazMxagIMeYPPH8MJP4ICjoXsDJzZFwNtPQ58TkkstmJntJRz0f18Hv/teMv/+pavr3Gwko6YGnr0ZVr8CR5/d9jWamTXDvjtHv3UTvDwdXrg9GdGffFnWyxnwyV/hkYth6TMwaDx84ZK2r9XMrBn2zaBf/Bg8dT2sXwn9/iG5Js4BR9Zv98EieOC85I5VY34KJ3ybqx9+jYdfeY8/Xj2cPt07tXnpZmZNte8F/Z+mwR+uhYMGwlnTkssPN+T5KbClGr7zJPQ5gXUfb+ahyuT6bW+8v8FBb2Z7hX0v6NcugfZd4OJnk7tO7conH8EBA5IvYIFeXTtw5nG9KenWgSH9erVBsWZmzbfvBX2fE2DBfbBmEfQ+ftdtP/kQ9j9kp1U/P6+RPmZme5h976ibo89ORvRzp++63ebq5JaEBx7TNnWZmbWSfS/oO3WHQefBot/Axr813G5VJUSNz4A1s73evhf0AMecC9u3wLL/arjNypcBQemJbVaWmVlryDnoJRVIWiDp8czzX0t6NfOzvNYdpOr2O13Sm5KWSrqmhepuntKTYL8y+M9/TY6hz+bd/4YDj4aO+7VtbWZmLawpI/pJwJIdTyJibEQMiohBJDf/rnfjb0kFwDTgDGAAcJ6kAc2quCUUFMLZ/57c3PvJH9TfvvxF+MvzyY2/zcz2cjkFvaRSYDQwI8s2Ad+gzr1jM04ClkbEsojYAjwInLX75bag8lPg1CuSm4YvqvU3avtWeOJK6H4wfHFi/uozM2shuY7opwJXAzVZtp0KrImIt7Ns6wOsrPV8VWZdPZImSKqUVFlVVZVjWc007BroUwG/+z5Uf5Cse+kuqFoCp98CRZ3bpg4zs1bUaNBLGgOsjYj5DTQ5j+yjeYAsVwjLfmePiJgeERURUVFSUtJYWS2joD2ccQtsXg8r/pRck/65KdD/dDhyVNvUYGbWynI5YWoIcKakUUBHoFjSrIgYL6kQOAc4oYG+q4CyWs9LgT3rTtrdDkoeN62H536U3EHq9Cn5rcnMrAU1GvQRMRmYDCBpGHBlRIzPbB4JvBERqxroPg84XNIhwHvAOOCbzay5ZXXoljz+blLyeOLF9c6GNTPbmzX3EgjjqDNtI6k3MCMiRkXENkmXAX8ACoC7I2JxM9+zZXUohuMvSE6O+txxcMK38l2RmVmLUsQuboadJxUVFVFZWZnvMszM9hqS5kdERbZt++aZsWZm+xAHvZlZyjnozcxSzkFvZpZyDnozs5Rz0JuZpZyD3sws5Rz0ZmYp56A3M0s5B72ZWco56M3MUs5Bb2aWcg56M7OUc9CbmaWcg97MLOUc9GZmKZdz0EsqkLRA0uO11k2U9KakxZJubaDf5ZntiyQ9IKljSxRuZma5acqIfhKwZMcTScOBs4CBEXE0cHvdDpL6AN8DKiLiGJLbCY5rVsVmZtYkOQW9pFJgNDCj1upLgCkRsRkgItY20L0Q6CSpEOgMrN79cs3MrKlyHdFPBa4Gamqt6w+cKmmupOclnVi3U0S8RzLSXwG8D6yPiKeaV7KZmTVFo0EvaQywNiLm19lUCPQABgNXAQ9JUp2+PUimdw4BegNdJI1v4H0mSKqUVFlVVdX0T2JmZlnlMqIfApwpaTnwIDBC0ixgFfBIJF4mGe33qtN3JPCXiKiKiK3AI8AXs71JREyPiIqIqCgpKdnNj2NmZnU1GvQRMTkiSiOinOSL1GcjYjzwGDACQFJ/oAhYV6f7CmCwpM6Z0f6XqfWFrpmZtb7mHEd/N3CopEUkI/2LIiIk9ZY0ByAi5gK/AV4BFmbeb3ozazYzsyZQROS7hnoqKiqisrIy32WYme01JM2PiIps23xmrJlZyjnozcxSzkFvZpZyDnozs5Rz0JuZpZyD3sws5Rz0ZmYp56A3M0s5B72ZWco56M3MUs5Bb2aWcg56M7OUc9CbmaWcg97MLOUc9GZmKeegNzNLOQe9mVnK5Rz0kgokLZD0eK11EyW9KWmxpFsb6Ndd0m8kvSFpiaSTW6JwMzPLTWET2k4iubF3MYCk4cBZwMCI2CzpgAb6/Qx4MiK+LqkI6Nycgs3MrGlyGtFLKgVGAzNqrb4EmBIRmwEiYm2WfsXAUGBmps2WiPhbM2s2M7MmyHXqZipwNVBTa11/4FRJcyU9L+nELP0OBaqAX2amfWZI6pLtDSRNkFQpqbKqqqoJH8HMzHal0aCXNAZYGxHz62wqBHoAg4GrgIckKUubzwN3RcTxwN+Ba7K9T0RMj4iKiKgoKSlp4scwM7OG5DKiHwKcKWk58CAwQtIsYBXwSCReJhnt96rTdxWwKiLmZp7/hiT4zcysjTQa9BExOSJKI6IcGAc8GxHjgceAEQCS+gNFwLo6fT8AVko6IrPqy8DrLVa9mZk1qjnH0d8NHCppEclI/6KICEm9Jc2p1W4icL+k14BBwI+a8Z5mZtZEioh811BPRUVFVFZW5rsMM7O9hqT5EVGRbZvPjDUzSzkHvZlZyjnozcxSzkFvZpZyDnozs5Rz0JuZpZyD3sws5Rz0ZmYp56A3M0s5B72ZWco56M3MUs5Bb2aWcg56M7OUc9CbmaWcg97MLOUc9GZmKZdz0EsqkLRA0uO11k2U9KakxZJubUpfMzNrG4VNaDsJWAIUA0gaDpwFDIyIzZIOyLWvmZm1nZxG9JJKgdHAjFqrLwGmRMRmgIhY24S+ZmbWRnKdupkKXA3U1FrXHzhV0lxJz0s6sQl965E0QVKlpMqqqqocyzIzs8Y0GvSSxgBrI2J+nU2FQA9gMHAV8JAk5di3noiYHhEVEVFRUlKS8wcwM7Ndy2WOfghwpqRRQEegWNIsYBXwSEQE8LKkGqAXUNVY34gY36KfwszMGtToiD4iJkdEaUSUA+OAZzNB/RgwAkBSf6AIWJdjXzMzayPNOY7+buBQSYuAB4GLIiIk9ZY0p2XKMzOz5lIy87JnqaioiMrKynyXYWa215A0PyIqsm3zmbFmZinnoDczSzkHvZlZyjnozcxSzkFvZpZyDnozs5Rz0JuZpZyD3sws5Rz0ZmYp56A3M0s5B72ZWco56M3MUs5Bb2aWcg56M7OUc9CbmaWcg97MLOVyDnpJBZIWSHq81rqJkt6UtFjSrVn6lEn6L0lLMm0mtVThZmaWm1xuDr7DJGAJUAwgaThwFjAwIjZLOiBLn23AFRHxiqRuwHxJT0fE680t3MzMcpPTiF5SKTAamFFr9SXAlIjYDBARa+v2i4j3I+KVzHI1yR+KPs0t2szMcpfr1M1U4Gqgpta6/sCpkuZKel7Sibt6AUnlwPHA3Aa2T5BUKamyqqoqx7LMzKwxjQa9pDHA2oiYX2dTIdADGAxcBTwkSQ28RlfgYeD7EbEhW5uImB4RFRFRUVJS0pTPYGZmu5DLHP0Q4ExJo4COQLGkWcAq4JGICOBlSTVAL2Cn4bik9iQhf39EPNKi1ZuZWaMaHdFHxOSIKI2IcmAc8GxEjAceA0YASOoPFAHravfNjPBnAksi4o6WLd3MzHLRnOPo7wYOlbQIeBC4KCJCUm9JczJthgAXACMkvZr5GdXMms3MrAmacnglEfEc8FxmeQswPkub1cCozPKLQNZ5ezMzaxs+M9bMLOUc9GZmKeegNzNLOQe9mVnKOejNzFLOQW9mlnIOejOzlHPQm5mlnIPezCzlHPRmZinnoDczSzkHvZlZyjnozcxSzkFvZpZyDnozs5Rz0JuZpVzOQS+pQNICSY/XWjdR0puSFku6tYF+p2faLJV0TUsUbWZmuWvKHaYmAUuAYgBJw4GzgIERsVnSAXU7SCoApgH/QHIz8XmSfhsRrze7cjMzy0lOI3pJpcBoYEat1ZcAUyJiM0BErM3S9SRgaUQsy9x68EGSPw5mZtZGcp26mQpcDdTUWtcfOFXSXEnPSzoxS78+wMpaz1dl1tUjaYKkSkmVVVVVOZZlZmaNaTToJY0B1kbE/DqbCoEewGDgKuAhSXVvBJ7txuCR7X0iYnpEVERERUlJSeOVm5lZTnKZox8CnClpFNARKJY0i2R0/khEBPCypBqgF1B7OL4KKKv1vBRY3SKVm5lZThod0UfE5IgojYhyYBzwbESMBx4DRgBI6g8UAevqdJ8HHC7pEElFmf6/bbnyzcysMc05jv5u4FBJi0i+ZL0oIkJSb0lzACJiG3AZ8AeSI3YeiojFzS3azMxyp2TmZc9SUVERlZWV+S7DzGyvIWl+RFRk2+YzY83MUs5Bb2aWcg56M7OUc9CbmWUREfx11v1sWbEi36U0W1OudWNmts/YOH8+a26+maquXek/72Xqnw+69/CI3swsi3X/bzoANR9/TPVTT+e5muZx0JuZZbH5naWfLq+bNi2PlTSfg97MrI6IYNvq9z993mnQoPwV0wIc9GZmdcSWLTs973H++XmqpGU46M3M6mjXoQMHXHXlp883vlL34r17Fwe9mVkWnQcP/nR5zY+nsPHVV/NXTDM56M3Msuh41FG0LyujoEcPCnr25L2rf1BvSmdv4aA3M8tC7drR/dxz2P7RR+w3ZgxbV6xg27q6V2LfOzjozcwaoA4dAfjwF79ARUUU9uqV54p2j8+MNTNrQM3HHwNQPOoMek6YgIqKdvu1FixYwGWXXUZBQQGFhYXMmDGDlStXcu2111JYWEi7du341a9+RVlZGXfccQePPfYY27dv57DDDmPmzJm0b9+eYcOGsXnzZjp06MCxxx7LnXfemdN7+3r0ZmYNiC1b2Lh4MZ2PP36X7TZs2cDU+VPpW9yXr/f/Ol3ad6nX5oMPPqBLly5069aNOXPm8MADDzBz5kyKMn887r77bpYsWcJtt93Gli1bPl1/4YUXMnbsWEaPHs2wYcOYNWsWpaWl9V5/V9ejz3lEL6kAqATei4gxkm4ELuaze8ReGxFzsvS7HPhfJDcFXwh8OyI25fq+Zmb5oqKiRkN+y/YtDHlgyKfPf7nol1x09EX06NiDldUr6dmxJ9844hscdNBBALz0/kvc+8a9fLTpo0/DHGDDhg0MHDgQ4NP1EUFNTQ39+vVL6pEYN24cRUVFXH/99YwYMSKnz9GUqZtJJLcDLK617qcRcXtDHST1Ab4HDIiIjZIeIrlv7D1NeF8zsz3W6x++DkCfrn24beht3DLvFu6Yf8dObeavmc9NX7yJrkVduWveXfxu2u/o890+vPnXN1n6p6XccMMNbNiwgTlzPhsr//CHP+See+7h8MMPp6ysDIDZs2fTq1cvVq5cyciRI6msrKRbt26N1pjTl7GSSoHRwIwcP3tthUAnSYVAZ2D1bryGmdke6Yj9jwBg8/bN9OnWh/vOuI9nvv4MT5z9BJXjK7n8hMt5ZsUzjH50NFNfnsq82+ZRMrqEjn06Mvut2YwePZrKykpuvvlmrr322k9f97rrruOtt97ikEMO4Z577gGgV+bL4LKyMo477jiWLl1ar55scj3qZipwNVBTZ/1lkl6TdLekHnU7RcR7wO3ACuB9YH1EPJXtDSRNkFQpqbKqqipbEzOzPU6nwk5M+/I0qrdUc97j57Fs/TIO7HIgBxcfTIeCDnznmO9w/6j7Obbnsdw48UbWH76e4hOK6dO1D4++/ih/Wf8XALp3707nzp0B2LQpmd2WxH777Ufnzp2JCDZs2ABAdXU1CxcupG/fvjnV2GjQSxoDrI2IuucA3wUcBgwiCfGfZOnbAzgLOAToDXSRND7b+0TE9IioiIiKkpKSnIo3M9sTDC0dyr2n38uWmi1c8PsLWFm9cqftx/Q6hmF/G8bWxVvp+OeOfPLzT+g+pztrXlzDMV84hiNPOpKf/OQn3HTTTQBcccUVDBs2jKFDh/LBBx9w/vnns23bNoYPH84pp5zCyJEjufHGG9l///1zqq/Ro24k/Ri4ANgGdCSZo38kIsbXalMOPB4Rx9Tp+4/A6RHx3czzC4HBEXHprt7TR92Y2d5o5YaVnPPbc/hK+Ve4+ZSbG23/+oevM3PhTJ569ylKu5ZywxdvYPDnBjfaL5tdHXXT6Ig+IiZHRGlElJN8kfpsRIyX9Llazc4GFmXpvgIYLKmzktuzfJnkC10zs9QpKy7j3P7n8sSyJ1hVvarR9gN6DuD2L93Oj075EdtiG7e8fEur1NWcM2NvlbRQ0mvAcOByAEm9Jc0BiIi5wG+AV0gOrWwHTG9eyWZme65vH/1tCtoV8PMFPyeX85QkMeqQUXQp7ELHgo6tUlOTzoyNiOeA5zLLFzTQZjUwqtbzG4AbdrtCM7O9yIFdDuTCARfyi4W/YP+O+3PNSdc02ufpFU/zzvp3uG3oba1Sk691Y2bWwi47/jLO7nc29y+5n3UbG78Q2oI1C+hU2InTyk9rlXoc9GZmLayd2nFu/3MBeGHVC7ts++yKZ5nzlzn079GfdmqdSPZFzczMWsHAXgM5oscR3DLvFjZu20hJ5xKGlw2nsN1nsfvuhne5/LnL6de9HzcPafwond3loDczawWSmPblaVz89MX8+OUfA3DofofSv0d/LhhwAQN6DuCexfdQEzVMHTaVsuKyVqvFQW9m1koO7HIgs786m5UbVrJs/TJmLJzB86ue58nlT1KgArbHds45/JxWDXlw0JuZtaoOBR3o16Mf/Xr047Ty0/h4y8fMXDSTTds2ceJBJzK8bHir1+CgNzNrQ12LujLp85Pa9D191I2ZWco56M3MUs5Bb2aWcg56M7OUc9CbmaWcg97MLOUc9GZmKeegNzNLuUZvJZgPkqqAd/NdRxvqBTR+LdN9k/dNw7xvGrYv7pu+EZH1htt7ZNDvayRVNnSvx32d903DvG8a5n2zM0/dmJmlnIPezCzlHPR7Bt8wvWHeNw3zvmmY900tnqM3M0s5j+jNzFLOQW9mlnIO+jyRNEjSS5JelVQp6aTM+vaS7pW0UNISSZPzXWtb28W+OT+zbsdPjaRBeS63TTW0bzLbBkr6k6TFmd+fjvmsta3t4vemXNLGWr83/57vWttcRPgnDz/AU8AZmeVRwHOZ5W8CD2aWOwPLgfJ817sn7Js6bY4FluW71j1l35DcLe414LjM855AQb7r3UP2TTmwKN/15fPHtxLMnwCKM8v7Aatrre8iqRDoBGwBNrR9eXnV0L6p7TzggTaraM/R0L45DXgtIv4MEBEf5qG2fMvl92af5KNu8kTSUcAfAJFMoX0xIt6V1B64D/gyyYj+8ojYpw4Va2jf1GnzDnBWRCzKQ4l5s4vfm+8DJwAHACUk/yu8NW+F5sEu9k05sBh4i2TQdH1EvJC3QvPAI/pWJOkZ4KAsm64jCfLLI+JhSd8AZgIjgZOA7UBvoAfwgqRnImJZG5XdJnZz3+zo+wXgk7SG/G7um0LgFOBE4BPgPyXNj4j/bKOy28Ru7pv3gYMj4kNJJwCPSTo6IvaZ/yl7RJ8nktYD3SMiJAlYHxHFkqYBL0XEfZl2dwNPRsRD+ay3LTW0b2pt/ylQFRE/yluRebKL35txwOkR8a1Mu/8LbIqI2/JYbptq7PemVrvngCsjorKta8wXH3WTP6uBL2WWRwBvZ5ZXACOU6AIMBt7IQ3351NC+QVI74B+BB/NQ156goX3zB2CgpM6Z73e+BLyeh/ryKeu+kVQiqSCzfChwOJCq/yE3xlM3+XMx8LPMP8pNwITM+mnAL4FFJHONv4yI1/JTYt40tG8AhgKr0jaV1QRZ901EfCTpDmAeyZeScyLiifyVmRcN/d4MBf5F0jaSadH/ExF/zVONeeGpGzOzlPPUjZlZyjnozcxSzkFvZpZyDnozs5Rz0JuZpZyD3sws5Rz0ZmYp9/8BXJVZFXmZYk0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"looking for nonPolygons in census tract data\")\n",
    "notPoly = [0]*nTracts\n",
    "for m in range(nTracts):\n",
    "    if type(tractGeom[m]) != type(tractGeom[1]):  #assuming tract 1 is a single polygon\n",
    "        notPoly[m] = 1\n",
    "        print(m,tractPop[m], tractArea[m], \"nonPolygon tract no, pop, area\")\n",
    "        x = tractGeom[m].centroid.x\n",
    "        y = tractGeom[m].centroid.y\n",
    "        if y < 999 :  #let's zoom in on these\n",
    "            for geom in tractGeom[m].geoms :\n",
    "                xg,yg = geom.exterior.xy\n",
    "                print(geom.area)\n",
    "                plt.plot(xg,yg)\n",
    "            plt.text(x+0.0,y+0.01,m,fontsize=9)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "d34b5fe5-6f02-413a-8c7b-c6662fa756ad",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#convex-hull these right away  (decision for each state - YES for MI)\n",
    "for m in range(nTracts):\n",
    "    if notPoly[m] == 1:\n",
    "        for geom in tractGeom[m].geoms :\n",
    "            xg,yg = geom.exterior.xy\n",
    "            plt.plot(xg,yg)\n",
    "        tractGeom[m] = tractGeom[m].convex_hull\n",
    "        x,y = tractGeom[m].exterior.xy\n",
    "        plt.plot(x,y)\n",
    "        notPoly[m] = 0\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "a05c0ec2-d208-45b8-8ff6-c1f1f583ad5d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[69, 114, 123, 151, 165, 173, 185, 187, 188, 189, 190, 209, 210, 265, 268, 269, 270, 283, 311, 317, 324, 328, 341, 351, 363, 372, 374, 377, 498, 509, 524, 540, 651, 684, 696, 967, 970, 971, 977, 980, 981, 983, 984, 985, 986, 988, 989, 990, 1073, 1077, 1083, 1084, 1087, 1088, 1090, 1155, 1181, 1182, 1183, 1226, 1243, 1250, 1317, 1366, 1367, 1403, 1445, 1508, 1578, 1604, 1605, 1629, 1687, 1750, 1758, 1764, 1868, 1880, 1919, 1940, 1951, 2161, 2177, 2346, 2399, 2408, 2456, 2465, 2467, 2496, 2573, 2585, 2603, 2634, 2668, 2685, 2706, 2707, 2708, 2712, 2722, 2742, 2757, 2874, 2886]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# For potential later issues, identify and flag lakeshore low-population tracts.\n",
    "isSkippedTract = [0]*nTracts\n",
    "lakeTracts = [9999]\n",
    "minTractPop = 20\n",
    "for m in range(nTracts):\n",
    "    if tractPop[m] < minTractPop:\n",
    "        x = tractGeom[m].centroid.x\n",
    "        y = tractGeom[m].centroid.y\n",
    "        if y < 999 and x > -999 : #optional to exclude some areas from plotting\n",
    "            plotPoly(tractGeom[m])\n",
    "        #plt.scatter(x,y)\n",
    "        if x > -999 :            \n",
    "            plt.text(x, y+0.00,m, fontsize=9)\n",
    "            if lakeTracts == [9999]:\n",
    "                lakeTracts = [m]\n",
    "                #isSkippedTract[m] = 1\n",
    "            else:\n",
    "                if 0 ==0 :  #m==99940 or m==999909:\n",
    "                    lakeTracts.append(m)\n",
    "                    #isSkippedTract[m] = 1\n",
    "                else:\n",
    "                    thisTract = \"interior\"\n",
    "                    \n",
    "\n",
    "print(lakeTracts)  # assigned as skipped tracts as well\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "92278f41-e499-40e9-aa7e-cf7576232d20",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[69, 114, 123, 151, 165, 173, 185, 187, 188, 189, 190, 209, 210, 265, 268, 269, 270, 283, 311, 317, 324, 328, 341, 351, 363, 372, 374, 377, 498, 509, 524, 540, 651, 684, 696, 967, 970, 971, 977, 980, 981, 983, 984, 985, 986, 988, 989, 990, 1073, 1077, 1083, 1084, 1087, 1088, 1090, 1155, 1181, 1182, 1183, 1226, 1243, 1250, 1317, 1366, 1367, 1403, 1445, 1508, 1578, 1604, 1605, 1629, 1687, 1750, 1758, 1764, 1868, 1880, 1919, 1940, 1951, 2161, 2177, 2346, 2399, 2408, 2456, 2465, 2467, 2496, 2573, 2585, 2603, 2634, 2668, 2685, 2706, 2707, 2708, 2712, 2722, 2742, 2757, 2874, 2886]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# For potential later issues, identify and flag lakeshore low-population tracts.\n",
    "isSkippedTract = [0]*nTracts\n",
    "lakeTracts = [9999]\n",
    "minTractPop = 20\n",
    "for m in range(nTracts):\n",
    "    if tractPop[m] < minTractPop:\n",
    "        x = tractGeom[m].centroid.x\n",
    "        y = tractGeom[m].centroid.y\n",
    "        if y > 46 and x > -999 : #optional to exclude some areas from plotting\n",
    "            plotPoly(tractGeom[m])\n",
    "        #plt.scatter(x,y)\n",
    "        if x > -999 :            \n",
    "            if y > 46:\n",
    "                plt.text(x, y+0.00,m, fontsize=9)\n",
    "            if lakeTracts == [9999]:\n",
    "                lakeTracts = [m]\n",
    "                #isSkippedTract[m] = 1\n",
    "            else:\n",
    "                if 0 ==0 :  #m==99940 or m==999909:\n",
    "                    lakeTracts.append(m)\n",
    "                    #isSkippedTract[m] = 1\n",
    "                else:\n",
    "                    thisTract = \"interior\"\n",
    "                    \n",
    "\n",
    "print(lakeTracts)  # assigned as skipped tracts as well\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "da1f99a3-04d0-427b-95e3-d9a57836959d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "greatLakeTracts = [2403,2408, 1226, 185,188,1403,2346,509, 2177, 2757,2742,2707, 1155, 1578,190, 1243,69,\n",
    "                   1367,1317,1868,2603,1940,1508,2585,524,1919,2668, 209,210, 2399, 2573, 1250, 151,2161, 2496, 2874,\n",
    "                   1951,2685,165,2634,351,173,540,209,1880,189,1629,498]\n",
    "for gLT in range(len(greatLakeTracts)):\n",
    "    t = greatLakeTracts[gLT]\n",
    "    isSkippedTract[t]=1\n",
    "    plotPoly(tractGeom[t])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "b0e9e246-a558-475c-8181-075a9421034e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3017 47\n"
     ]
    }
   ],
   "source": [
    "print(len(isSkippedTract),np.sum(isSkippedTract))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "3ded1b1f-5629-4d8f-826b-e037e5dcb3da",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "working on tract 300\n",
      "working on tract 600\n",
      "working on tract 900\n",
      "working on tract 1200\n",
      "working on tract 1500\n",
      "working on tract 1800\n",
      "working on tract 2100\n",
      "working on tract 2400\n",
      "working on tract 2700\n",
      "working on tract 3000\n"
     ]
    },
    {
     "ename": "AttributeError",
     "evalue": "'LineString' object has no attribute 'exterior'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[0;32m/tmp/ipykernel_282/3811377777.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     15\u001b[0m \u001b[0mclipPoly\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPolygon\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpt1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpt2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpt3\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpt4\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m  \u001b[0;31m#in case we want to clip southern tip\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     16\u001b[0m \u001b[0mcutLine\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mLineString\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpt1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mpt2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 17\u001b[0;31m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcutLine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexterior\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxy\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     18\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     19\u001b[0m \u001b[0;31m#plotPoly(clipPoly)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mAttributeError\u001b[0m: 'LineString' object has no attribute 'exterior'"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#build basic MI map\n",
    "tractMAP = tractGeom[0] #uncomment for first time thru loop  **************\n",
    "for t in range(1,nTracts):\n",
    "    if t%300 == 0:\n",
    "        print(\"working on tract\",t)\n",
    "    if isSkippedTract[t] == 0:\n",
    "        uncomment = \"if-redone\"\n",
    "        tractMAP = tractMAP.union(tractGeom[t])  #uncomment to build map  ********\n",
    "plotPoly(tractMAP)\n",
    "#Let's draw a line to put all of MI's UP into LP's northern tip\n",
    "pt1 = Point(-88,44)\n",
    "pt2 = Point(-83,46)\n",
    "pt3 = Point(-88,49.5)\n",
    "pt4 = Point(-91,46.4)\n",
    "clipPoly = Polygon([pt1,pt2,pt3,pt4])  #in case we want to clip southern tip\n",
    "cutLine = LineString([pt1,pt2])\n",
    "x,y = cutLine.exterior.xy\n",
    "plt.plot(x,y)\n",
    "#plotPoly(clipPoly)\n",
    "\n",
    "plt.show()\n",
    "wholeMAP = tractMAP  #in case we later slice parts out\n",
    "            "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "fe47f683-719d-4a02-9648-905bddbf28a3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Now, repeat for E corner / thumb\n",
    "\n",
    "plotPoly(tractMAP)\n",
    "pt1 = Point(-88,44)\n",
    "pt2 = Point(-83,46)\n",
    "pt3 = Point(-88,49.5)\n",
    "pt4 = Point(-91,46.4)\n",
    "cutLine = LineString([pt1,pt2])\n",
    "x,y = cutLine.xy\n",
    "plt.plot(x,y)\n",
    "\n",
    "pt1 = Point(-82.5,44.2)\n",
    "pt2 = Point(-83.4,44)\n",
    "pt3 = Point(-83.7,43.7)\n",
    "pt4 = Point(-82.3,43.1)\n",
    "clipPoly = Polygon([pt1,pt2,pt3,pt4])  #LEFTOVER FROM INDIANA. plan to clip off SW corner near Evansville\n",
    "cutLine = LineString([pt4,pt3])\n",
    "x,y = cutLine.xy\n",
    "plt.plot(x,y)\n",
    "\n",
    "\n",
    "pt1 = Point(-87.,42.5)\n",
    "pt2 = Point(-87,41.6)\n",
    "pt3 = Point(-85.8, 41.6)\n",
    "pt4 = Point(-86.2, 42.6)\n",
    "clipPoly = Polygon([pt1,pt2,pt3,pt4])  #LEFTOVER FROM INDIANA. plan to clip off SW corner near Evansville\n",
    "cutLine = LineString([pt4,pt3])\n",
    "x,y = cutLine.xy\n",
    "plt.plot(x,y)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "55419803-eaaf-4181-8848-d8fdad0205b9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Now, repeat for southwestern corner\n",
    "x,y = tractMAP.exterior.xy\n",
    "plt.plot(x,y)\n",
    "pt1 = Point(-87.,42.5)\n",
    "pt2 = Point(-87,41.6)\n",
    "pt3 = Point(-85.8, 41.6)\n",
    "pt4 = Point(-86.2, 42.6)\n",
    "clipPoly = Polygon([pt1,pt2,pt3,pt4])  #LEFTOVER FROM INDIANA. plan to clip off SW corner near Evansville\n",
    "xc,yc = clipPoly.exterior.xy\n",
    "plt.plot(xc,yc)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "2f6c72cd-90d8-489d-9b15-d4278ba17b3d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "map has a total of 90 grids for 13 districts\n",
      "starting grid no 0 at x = -86.3496553, y = 41.914850944444446 \n",
      "starting grid no 5 at x = -86.3496553, y = 44.10218038888888 \n",
      "starting grid no 10 at x = -85.9337659, y = 42.352316833333326 \n",
      "starting grid no 15 at x = -85.9337659, y = 44.53964627777777 \n",
      "starting grid no 20 at x = -85.5178765, y = 42.78978272222221 \n",
      "starting grid no 25 at x = -85.5178765, y = 44.97711216666666 \n",
      "starting grid no 30 at x = -85.1019871, y = 43.22724861111111 \n",
      "starting grid no 35 at x = -85.1019871, y = 45.41457805555555 \n",
      "starting grid no 40 at x = -84.68609769999999, y = 43.66471449999999 \n",
      "starting grid no 45 at x = -84.2702083, y = 41.914850944444446 \n",
      "starting grid no 50 at x = -84.2702083, y = 44.10218038888888 \n",
      "starting grid no 55 at x = -83.8543189, y = 42.35231683333333 \n",
      "starting grid no 60 at x = -83.8543189, y = 44.53964627777777 \n",
      "starting grid no 65 at x = -83.4384295, y = 42.78978272222221 \n",
      "starting grid no 70 at x = -83.4384295, y = 44.97711216666666 \n",
      "starting grid no 75 at x = -83.02254009999999, y = 43.227248611111115 \n",
      "starting grid no 80 at x = -83.02254009999999, y = 45.41457805555555 \n",
      "starting grid no 85 at x = -82.60665069999999, y = 43.664714499999995 \n",
      "done building grids. avgGridDensity, maxGridDensity,nPopulatedGrids = 738518.674158858 8800426.98774075 75.0\n"
     ]
    }
   ],
   "source": [
    "# this section - ESTIMATE POP'N DENSITY at scale of 1/3 of district length\n",
    "# also, IDENTIFY WHICH TRACTS and VTD's INTERSECT EACH GRID to speed later intersection searches by grid \n",
    "# (above sections already pulled in Tract and Precinct geometry and demographic data, built an overall map)\n",
    "nDistricts = 13   #MI congressional\n",
    "avgDistrictPop = np.sum(tractPop) / float(nDistricts)\n",
    "#MAPMaxX = -80.   #In most state maps, we figure this out from the bounding box of the convex hull; see above.\n",
    "#MAPMaxY = 31.1   # ... but for Florida, we will do manually\n",
    "#MAPMinX = -87.0\n",
    "#MAPMinY = 25.5\n",
    "stateWidth = float(MAPMaxX - MAPMinX)\n",
    "stateHeight = float(MAPMaxY - MAPMinY)\n",
    "stateWHRatio = stateWidth / stateHeight\n",
    "G = 2.5  #adjustable parameter; G*G = number of grids that fit in an average district\n",
    "nGridsX = int( G*round((nDistricts*stateWHRatio)**0.5,0) )   #OK to have empty grids for a non-rectglr state\n",
    "nGridsY = int(round(nGridsX / stateWHRatio,0) )  #so grids are square even if state has high aspect ratio\n",
    "nGrids = int(nGridsX*nGridsY)\n",
    "print(\"map has a total of {0} grids for {1} districts\".format(nGrids,nDistricts) )\n",
    "nGridPrecincts = [0]*nGrids # will store how many precincts intersect with each grid square\n",
    "nGridTracts = [0]*nGrids    # same, but for tracts\n",
    "gridPrecinctNo = [[0]*nPrecincts for gridNo in range(nGrids) ] # initialize a list of VTDs that intersect with each grid square\n",
    "gridTractNo = [[0]*nTracts for gridNo in range(nGrids) ] # initialize a list of tracts that intersect with each grid square\n",
    "\n",
    "gridPop = [0.]*nGrids #will store approx total population for this grid square\n",
    "gridDensity = [0.]*nGrids\n",
    "gridGeom = [Polygon([(0,0),(0,1),(1,0)])]*nGrids  #initialize grid geometry\n",
    "gridWidth = stateWidth /nGridsX        #geo length of a grid's side length\n",
    "gridHeight = stateHeight /nGridsY    \n",
    "\n",
    "for nG in range (nGrids) : #  create polygon shape for each grid square, compute grid-square population density\n",
    "    x = int(nG/nGridsY)\n",
    "    y = int(nG % nGridsY)\n",
    "    point1 = Point(x*gridWidth+MAPMinX,y*gridHeight+MAPMinY)\n",
    "    point2 = Point((x+1)*gridWidth+MAPMinX, y*gridHeight+MAPMinY)\n",
    "    point3 = Point((x+1)*gridWidth+MAPMinX, (y+1)*gridHeight+MAPMinY)\n",
    "    point4 = Point(x*gridWidth+MAPMinX, (y+1)*gridHeight+MAPMinY)\n",
    "    gridGeom[nG] = Polygon([point1, point2, point3, point4])\n",
    "    if (nG %5 == 0): #print occasionally, should take about one second per grid\n",
    "        print(\"starting grid no {0} at x = {1}, y = {2} \".format(nG,gridGeom[nG].centroid.x,gridGeom[nG].centroid.y) )\n",
    "    counter = 0\n",
    "    #    Now for each grid square, find intersxn with all polygons, total the intersection population\n",
    "    #    Also, create 2 lists: of TRACTS and precincts that intersect each grid (efficiency shortcut)\n",
    "    \n",
    "    if( gridGeom[nG].intersection(MAP).area > 0.0001) : #don't bother w grids off the map\n",
    "        for t in range(nTracts):\n",
    "            # if (t%3000 == 0) :\n",
    "            #    print (\"grid {0}, tract no {1}, ({2},{3})\".format(nG,t,tractGeom[t].centroid.x,tractGeom[t].centroid.y) )\n",
    "            intersxnArea = 0.\n",
    "            if tractGeom[t].type == clipPoly.type :  # tract is a simple polygon\n",
    "                intersxnArea = gridGeom[nG].intersection(tractGeom[t]).area  #replaced tractGeom w cleanedPoly\n",
    "            else : #tract is a multiPolygon, do the polygon intersections individually\n",
    "                #print(\"I think tract\",t,\"is a multiPolygon\")\n",
    "                for geom in tractGeom[t].geoms :\n",
    "                    intersxnArea += gridGeom[nG].intersection(geom).area\n",
    "            if (intersxnArea > 0 and tractPop[t] > minTractPop) : # this tract is at least partially in this grid and populated \n",
    "                if (tractArea[t] == 0):  #should not happen, but debugging\n",
    "                    print(t,tractGeom[t].centroid.x, tractGeom[t].centroid.y)  #debug print\n",
    "                gridPop[nG] += tractPop[t]*intersxnArea/tractArea[t]\n",
    "                if tractPop[t] > (1.0 * avgDistrictPop) :  #flag if we have a mega tract\n",
    "                    uhoh = input(\"Uh oh! We have a tract that's bigger than a district.  What now?\")\n",
    "                else :\n",
    "                    gridTractNo[nG][counter] = t  #add this tract to this grid's list, update the no of tracts in grid\n",
    "                    counter +=1            \n",
    "                    nGridTracts[nG] = counter\n",
    "        # OK, now, loop over PRECINCTS to develop each grid's list of precincts (prev loop was for tracts)\n",
    "        counter = 0\n",
    "        for p in range(nPrecincts):\n",
    "            intersxnArea = 0.\n",
    "            if vtdGeom[p].type == clipPoly.type :  # precinct is a simple polygon\n",
    "                intersxnArea = gridGeom[nG].intersection(vtdGeom[p]).area  #replaced tractGeom w cleanedPoly\n",
    "            else : #precinct is a multiPolygon, do the polygon intersections individually\n",
    "                for geom in vtdGeom[p].geoms :\n",
    "                    intersxnArea += gridGeom[nG].intersection(geom).area\n",
    "            intersxnArea = gridGeom[nG].intersection(vtdGeom[p]).area\n",
    "            if (intersxnArea > 0 and vtdPop[p] >0) : # this precinct is at least partially in this grid and recorded votes                 \n",
    "                gridPrecinctNo[nG][counter] = p  #add this precinct to this grid's list, update the no of tracts in grid\n",
    "                counter +=1            \n",
    "                nGridPrecincts[nG] = counter\n",
    "    gridDensity[nG] = gridPop[nG] / gridGeom[nG].area  #finished loop over tracts & vtd's.  Calceach grid's population density    \n",
    "\n",
    "minGridPop = np.min(gridPop)\n",
    "# avgGridPop = np.mean(gridPop)   #see below for explicit averaging, since there are so many empty grids\n",
    "maxGridPop = np.max(gridPop)\n",
    "nPopulatedGrids = 0.\n",
    "totPopulatedGridArea = 0.\n",
    "for nG in range(nGrids) :\n",
    "    if gridPop[nG] > 0. :\n",
    "        nPopulatedGrids +=1\n",
    "        totPopulatedGridArea += gridGeom[nG].area\n",
    "avgGridPop = np.sum(tractPop) / nPopulatedGrids\n",
    "avgGridDensity = np.sum(tractPop) / totPopulatedGridArea\n",
    "#avgGridDensity = np.average(gridDensity) #avgGridPop / (gridPL * gridPL) #these densities help home district algorithm\n",
    "maxGridDensity = np.max(gridDensity)\n",
    "print(\"done building grids. avgGridDensity, maxGridDensity,nPopulatedGrids =\",avgGridDensity,maxGridDensity,nPopulatedGrids)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "id": "808f513f-21af-4b03-8061-fdeeed33dafd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here is a heat map of grid density \n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<function matplotlib.pyplot.show(close=None, block=None)>"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"here is a heat map of grid density \")\n",
    "xyGridDensity = [[0.]*nGridsX for x in range (nGridsY) ]   #flipping x and y to get right orientation in pixel grid\n",
    "for nG in range (nGrids) : #  create polygon shape for each grid square, compute grid-square population density\n",
    "    x = int(nG % nGridsY)\n",
    "    y = int(nG / nGridsY)\n",
    "    if gridDensity[nG] > 0 :  #avoid log zero\n",
    "        xyGridDensity[x][y]=np.log(gridDensity[nG])\n",
    "c=plt.pcolormesh(xyGridDensity)\n",
    "plt.colorbar(c)\n",
    "plt.show"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "id": "4013f80b-4fc8-40a1-b708-ee29c29b3ffe",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.3940077030921224e-06 9.730771500007868e-06\n",
      "10 13 MI\n"
     ]
    }
   ],
   "source": [
    "print(np.min(vtdArea), np.min(tractArea))\n",
    "print(minTractPop,nDistricts,STATE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "id": "ab450500-f1a4-4292-a2fe-71eb2217121d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I am working on tract number 0 of 3017 tracts\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/tmp/ipykernel_235/99954720.py:66: RuntimeWarning: divide by zero encountered in double_scalars\n",
      "  minR = (avgDistrictPop / maxStartDensity / pi)**0.5   # conservative estimated radius of this tract's district\n",
      "/tmp/ipykernel_235/99954720.py:99: RuntimeWarning: invalid value encountered in multiply\n",
      "  wedgePop[nW] = tractPop[t]* wedgePoly.area/max(tractArea[t],minTractArea)  #max prevents rare div-by-zero\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I am working on tract number 20 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 39 5.0 2 90.0 0.8294 207102.7\n",
      "I am working on tract number 40 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 43\n",
      "I am working on tract number 60 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 79\n",
      "I am working on tract number 80 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 81 4.0 0 90.0 1.8383 211010.3\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 81 5.0 0 90.0 1.7234 211010.3\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 87 8.0 3 78.5 2.8107 250879.6\n",
      "we have 2 non-opposing shorted wedges for tract no 98\n",
      "I am working on tract number 100 of 3017 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 103 0 363558.53249463637 1.6693\n",
      "8 yoyos for tract,wedge,wedgePop,r= 103 0 34788.22582095297 0.8347\n",
      "9 yoyos for tract,wedge,wedgePop,r= 103 0 362918.05255206424 1.663\n",
      "9 yoyos for tract,wedge,wedgePop,r= 103 0 201624.4341493831 1.2488\n",
      "10 yoyos for tract,wedge,wedgePop,r= 103 0 57696.20621953477 1.0417\n",
      "10 yoyos for tract,wedge,wedgePop,r= 103 0 100605.42160969801 1.1453\n",
      "10 yoyos for tract,wedge,wedgePop,r= 103 0 143351.5915034127 1.197\n",
      "10 yoyos for tract,wedge,wedgePop,r= 103 0 170125.84637506527 1.2229\n",
      "10 yoyos for tract,wedge,wedgePop,r= 103 0 185405.18714312927 1.2359\n",
      "we have 2 non-opposing shorted wedges for tract no 105\n",
      "I am working on tract number 120 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 130 3.0 1 37.5 0.9061 250723.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 130 4.0 1 37.5 0.8887 250723.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 131 5.0 1 41.1 1.0188 335069.6\n",
      "we have 2 non-opposing shorted wedges for tract no 135\n",
      "I am working on tract number 140 of 3017 tracts\n",
      "I am working on tract number 160 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 167\n",
      "I am working on tract number 180 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 197\n",
      "I am working on tract number 200 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 202\n",
      "I am working on tract number 220 of 3017 tracts\n",
      "I am working on tract number 240 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 241 8.0 0 117.7 0.8739 211654.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 241 13.0 0 117.7 0.8568 211654.0\n",
      "7 yoyos for tract,wedge,wedgePop,r= 241 0 211653.98101555204 0.9011\n",
      "I am working on tract number 260 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 270\n",
      "I am working on tract number 280 of 3017 tracts\n",
      "I am working on tract number 300 of 3017 tracts\n",
      "I am working on tract number 320 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 331\n",
      "I am working on tract number 340 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 343\n",
      "we have 2 non-opposing shorted wedges for tract no 344\n",
      "I am working on tract number 360 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 378\n",
      "I am working on tract number 380 of 3017 tracts\n",
      "I am working on tract number 400 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 404 4.0 1 36.1 1.5209 344271.1\n",
      "I am working on tract number 420 of 3017 tracts\n",
      "I am working on tract number 440 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 451\n",
      "I am working on tract number 460 of 3017 tracts\n",
      "I am working on tract number 480 of 3017 tracts\n",
      "I am working on tract number 500 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 504\n",
      "we have 2 non-opposing shorted wedges for tract no 506\n",
      "we have 2 non-opposing shorted wedges for tract no 508\n",
      "I am working on tract number 520 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 525\n",
      "we have 2 non-opposing shorted wedges for tract no 526\n",
      "we have 2 non-opposing shorted wedges for tract no 527\n",
      "I am working on tract number 540 of 3017 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 547 2 240419.63210006247 1.1383\n",
      "8 yoyos for tract,wedge,wedgePop,r= 547 2 9398.220678609243 0.5691\n",
      "9 yoyos for tract,wedge,wedgePop,r= 547 2 396455.8911967183 1.2639\n",
      "10 yoyos for tract,wedge,wedgePop,r= 547 2 46873.99295683281 0.9165\n",
      "10 yoyos for tract,wedge,wedgePop,r= 547 2 154612.79578108402 1.0902\n",
      "11 yoyos for tract,wedge,wedgePop,r= 547 2 305753.5653352253 1.177\n",
      "11 yoyos for tract,wedge,wedgePop,r= 547 2 231003.02622334863 1.1336\n",
      "I am working on tract number 560 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 564\n",
      "we have 2 non-opposing shorted wedges for tract no 565\n",
      "we have 2 non-opposing shorted wedges for tract no 566\n",
      "I am working on tract number 580 of 3017 tracts\n",
      "I am working on tract number 600 of 3017 tracts\n",
      "I am working on tract number 620 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 636 6.0 0 83.3 0.9217 202831.3\n",
      "I am working on tract number 640 of 3017 tracts\n",
      "I am working on tract number 660 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 679 7.0 0 93.9 0.505 200162.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 679 8.0 0 93.9 0.4929 200162.5\n",
      "I am working on tract number 680 of 3017 tracts\n",
      "I am working on tract number 700 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 710\n",
      "I am working on tract number 720 of 3017 tracts\n",
      "I am working on tract number 740 of 3017 tracts\n",
      "I am working on tract number 760 of 3017 tracts\n",
      "I am working on tract number 780 of 3017 tracts\n",
      "I am working on tract number 800 of 3017 tracts\n",
      "I am working on tract number 820 of 3017 tracts\n",
      "I am working on tract number 840 of 3017 tracts\n",
      "I am working on tract number 860 of 3017 tracts\n",
      "I am working on tract number 880 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 899 5.0 1 90.0 1.0316 231519.3\n",
      "I am working on tract number 900 of 3017 tracts\n",
      "I am working on tract number 920 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 930\n",
      "I am working on tract number 940 of 3017 tracts\n",
      "I am working on tract number 960 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 976 5.0 2 90.0 0.3513 174471.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 976 6.0 2 90.0 0.3797 174471.5\n",
      "I am working on tract number 980 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 986 2.0 3 90.0 0.876 213467.8\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 986 3.0 3 90.0 0.814 213467.8\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 986 4.0 3 90.0 0.7563 213467.8\n",
      "I am working on tract number 1000 of 3017 tracts\n",
      "I am working on tract number 1020 of 3017 tracts\n",
      "I am working on tract number 1040 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1042\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1044 7.0 0 93.2 1.0249 215035.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1044 8.0 0 93.2 0.947 215035.1\n",
      "I am working on tract number 1060 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1078\n",
      "I am working on tract number 1080 of 3017 tracts\n",
      "I am working on tract number 1100 of 3017 tracts\n",
      "I am working on tract number 1120 of 3017 tracts\n",
      "I am working on tract number 1140 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1146\n",
      "we have 2 non-opposing shorted wedges for tract no 1149\n",
      "I am working on tract number 1160 of 3017 tracts\n",
      "I am working on tract number 1180 of 3017 tracts\n",
      "I am working on tract number 1200 of 3017 tracts\n",
      "I am working on tract number 1220 of 3017 tracts\n",
      "I am working on tract number 1240 of 3017 tracts\n",
      "I am working on tract number 1260 of 3017 tracts\n",
      "I am working on tract number 1280 of 3017 tracts\n",
      "I am working on tract number 1300 of 3017 tracts\n",
      "I am working on tract number 1320 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1323\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1338 9.0 0 96.0 0.8972 207813.7\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1338 10.0 0 96.0 0.851 207813.7\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1338 11.0 0 96.0 0.8072 207813.7\n",
      "I am working on tract number 1340 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1347 3.0 0 109.4 0.4771 281128.0\n",
      "we have 2 non-opposing shorted wedges for tract no 1350\n",
      "I am working on tract number 1360 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1363\n",
      "I am working on tract number 1380 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1391\n",
      "we have 2 non-opposing shorted wedges for tract no 1395\n",
      "we have 2 non-opposing shorted wedges for tract no 1397\n",
      "we have 2 non-opposing shorted wedges for tract no 1399\n",
      "I am working on tract number 1400 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1400\n",
      "we have 2 non-opposing shorted wedges for tract no 1401\n",
      "I am working on tract number 1420 of 3017 tracts\n",
      "I am working on tract number 1440 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1451 4.0 0 83.4 0.8238 253457.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1455 2.0 0 90.0 0.6728 215636.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1455 3.0 0 90.0 0.6203 215636.2\n",
      "we have 2 non-opposing shorted wedges for tract no 1458\n",
      "I am working on tract number 1460 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1477 6.0 0 83.3 2.5783 235678.4\n",
      "I am working on tract number 1480 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1494\n",
      "we have 2 non-opposing shorted wedges for tract no 1496\n",
      "we have 2 non-opposing shorted wedges for tract no 1497\n",
      "we have 2 non-opposing shorted wedges for tract no 1498\n",
      "I am working on tract number 1500 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1504\n",
      "I am working on tract number 1520 of 3017 tracts\n",
      "I am working on tract number 1540 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1540\n",
      "I am working on tract number 1560 of 3017 tracts\n",
      "I am working on tract number 1580 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1585 3.0 3 63.1 0.9126 232354.9\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1585 4.0 3 63.1 0.9037 232354.9\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1585 5.0 3 63.1 0.8948 232354.9\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1585 6.0 3 63.1 0.8861 232354.9\n",
      "I am working on tract number 1600 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1607 3.0 1 90.0 0.9385 194641.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1608 3.0 1 90.0 1.0144 203159.6\n",
      "we have 2 non-opposing shorted wedges for tract no 1617\n",
      "we have 2 non-opposing shorted wedges for tract no 1619\n",
      "I am working on tract number 1620 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1620\n",
      "we have 2 non-opposing shorted wedges for tract no 1635\n",
      "I am working on tract number 1640 of 3017 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1659 0 459937.177490065 1.7025\n",
      "8 yoyos for tract,wedge,wedgePop,r= 1659 0 38849.141780909675 0.8512\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1659 0 459912.67743749305 1.7022\n",
      "9 yoyos for tract,wedge,wedgePop,r= 1659 0 268578.680081144 1.2767\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1659 0 75099.42042622232 1.064\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1659 0 135919.46255656527 1.1704\n",
      "10 yoyos for tract,wedge,wedgePop,r= 1659 0 185100.721333128 1.2236\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1659 0 225394.8964049082 1.2501\n",
      "11 yoyos for tract,wedge,wedgePop,r= 1659 0 204273.23338005372 1.2368\n",
      "I am working on tract number 1660 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1668\n",
      "7 yoyos for tract,wedge,wedgePop,r= 1671 3 533819.3637355657 2.6638\n",
      "we have 2 non-opposing shorted wedges for tract no 1674\n",
      "I am working on tract number 1680 of 3017 tracts\n",
      "I am working on tract number 1700 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1717\n",
      "I am working on tract number 1720 of 3017 tracts\n",
      "I am working on tract number 1740 of 3017 tracts\n",
      "I am working on tract number 1760 of 3017 tracts\n",
      "I am working on tract number 1780 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1794\n",
      "we have 2 non-opposing shorted wedges for tract no 1796\n",
      "I am working on tract number 1800 of 3017 tracts\n",
      "I am working on tract number 1820 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1824\n",
      "we have 2 non-opposing shorted wedges for tract no 1825\n",
      "we have 2 non-opposing shorted wedges for tract no 1826\n",
      "we have 2 non-opposing shorted wedges for tract no 1828\n",
      "we have 2 non-opposing shorted wedges for tract no 1829\n",
      "we have 2 non-opposing shorted wedges for tract no 1831\n",
      "I am working on tract number 1840 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1841 2.0 3 90.0 0.7778 226746.3\n",
      "we have 2 non-opposing shorted wedges for tract no 1845\n",
      "we have 2 non-opposing shorted wedges for tract no 1854\n",
      "we have 2 non-opposing shorted wedges for tract no 1855\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 1856 5.0 3 83.9 0.6634 221803.8\n",
      "I am working on tract number 1860 of 3017 tracts\n",
      "I am working on tract number 1880 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1883\n",
      "we have 2 non-opposing shorted wedges for tract no 1884\n",
      "I am working on tract number 1900 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1918\n",
      "I am working on tract number 1920 of 3017 tracts\n",
      "I am working on tract number 1940 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 1941\n",
      "we have 2 non-opposing shorted wedges for tract no 1955\n",
      "I am working on tract number 1960 of 3017 tracts\n",
      "I am working on tract number 1980 of 3017 tracts\n",
      "I am working on tract number 2000 of 3017 tracts\n",
      "I am working on tract number 2020 of 3017 tracts\n",
      "I am working on tract number 2040 of 3017 tracts\n",
      "I am working on tract number 2060 of 3017 tracts\n",
      "I am working on tract number 2080 of 3017 tracts\n",
      "I am working on tract number 2100 of 3017 tracts\n",
      "I am working on tract number 2120 of 3017 tracts\n",
      "I am working on tract number 2140 of 3017 tracts\n",
      "I am working on tract number 2160 of 3017 tracts\n",
      "I am working on tract number 2180 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2199\n",
      "I am working on tract number 2200 of 3017 tracts\n",
      "I am working on tract number 2220 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2233 2.0 1 90.0 0.907 195691.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2233 3.0 1 90.0 0.9004 195691.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2233 4.0 1 90.0 0.8938 195691.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2233 5.0 1 90.0 0.8873 195691.5\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2233 6.0 1 90.0 0.8809 195691.5\n",
      "I am working on tract number 2240 of 3017 tracts\n",
      "I am working on tract number 2260 of 3017 tracts\n",
      "7 yoyos for tract,wedge,wedgePop,r= 2271 3 269990.0891878812 1.9347\n",
      "I am working on tract number 2280 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2290\n",
      "we have 2 non-opposing shorted wedges for tract no 2293\n",
      "I am working on tract number 2300 of 3017 tracts\n",
      "I am working on tract number 2320 of 3017 tracts\n",
      "I am working on tract number 2340 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2347\n",
      "I am working on tract number 2360 of 3017 tracts\n",
      "I am working on tract number 2380 of 3017 tracts\n",
      "I am working on tract number 2400 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2401\n",
      "we have 2 non-opposing shorted wedges for tract no 2404\n",
      "we have 2 non-opposing shorted wedges for tract no 2405\n",
      "we have 2 non-opposing shorted wedges for tract no 2407\n",
      "we have 2 non-opposing shorted wedges for tract no 2414\n",
      "we have 2 non-opposing shorted wedges for tract no 2415\n",
      "we have 2 non-opposing shorted wedges for tract no 2416\n",
      "I am working on tract number 2420 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2427\n",
      "I am working on tract number 2440 of 3017 tracts\n",
      "I am working on tract number 2460 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2471 2.0 2 90.0 0.6361 498570.1\n",
      "I am working on tract number 2480 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2480 5.0 0 90.0 0.6797 204919.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2480 6.0 0 90.0 0.6516 204919.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2480 11.0 0 90.0 0.6826 204919.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2480 12.0 0 90.0 0.6545 204919.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2480 13.0 0 90.0 0.6274 204919.1\n",
      "we have 2 non-opposing shorted wedges for tract no 2493\n",
      "we have 2 non-opposing shorted wedges for tract no 2494\n",
      "I am working on tract number 2500 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2518\n",
      "I am working on tract number 2520 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2521 3.0 0 86.3 0.8749 217641.3\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2521 4.0 0 86.3 0.8009 217641.3\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2521 5.0 0 86.3 0.7332 217641.3\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2529 5.0 0 83.3 0.8322 247252.4\n",
      "I am working on tract number 2540 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2546 2.0 2 90.0 0.8897 208606.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2546 3.0 2 90.0 0.8415 208606.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2546 4.0 2 90.0 0.7959 208606.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2546 5.0 2 90.0 0.7527 208606.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2546 6.0 2 90.0 0.7119 208606.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2546 7.0 2 90.0 0.6733 208606.0\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2546 8.0 2 90.0 0.6368 208606.0\n",
      "I am working on tract number 2560 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2574\n",
      "we have 2 non-opposing shorted wedges for tract no 2577\n",
      "I am working on tract number 2580 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2584\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2591 5.0 0 84.5 1.5963 216709.4\n",
      "I am working on tract number 2600 of 3017 tracts\n",
      "I am working on tract number 2620 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2628 6.0 1 68.0 1.6783 251689.6\n",
      "I am working on tract number 2640 of 3017 tracts\n",
      "loop31.0, tr2650,wedgePops50614.07, 1659.4, 22209.9, 4.4, 26740.4, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "loop32.0, tr2650,wedgePops52059.76, 1659.4, 22998.4, 4.4, 27397.6, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "loop33.0, tr2650,wedgePops53498.85, 1659.4, 23777.9, 4.4, 28057.2, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "loop34.0, tr2650,wedgePops54928.97, 1659.4, 24547.3, 4.4, 28717.9, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "loop35.0, tr2650,wedgePops56350.84, 1659.4, 25306.1, 4.4, 29380.9, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "loop36.0, tr2650,wedgePops57777.73, 1659.4, 26061.9, 4.4, 30052.0, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "loop37.0, tr2650,wedgePops59215.22, 1659.4, 26821.0, 4.4, 30730.4, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "loop38.0, tr2650,wedgePops60660.79, 1659.4, 27585.3, 4.4, 31411.6, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "loop39.0, tr2650,wedgePops62131.79, 1659.4, 28369.9, 4.4, 32098.1, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "wedge no, currentR,oldWedgePop, wedgePop, overEdge? 0 2.73562 1152.2073 1659.4345 1\n",
      "wedge no, currentR,oldWedgePop, wedgePop, overEdge? 1 33.63066 27585.3331 28369.8762 0\n",
      "wedge no, currentR,oldWedgePop, wedgePop, overEdge? 2 0.91826 0.0569 4.3952 1\n",
      "wedge no, currentR,oldWedgePop, wedgePop, overEdge? 3 33.63066 31411.6315 32098.0827 0\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAqa0lEQVR4nO3dd3RUVdfH8e9OAoQOCookFBUroPgwAVREQaxgQ1F5RBGlKSqhKVjQsRcEVECqFEF6E1AygKCSAMmEIl1AiGRooYQeIMl5/7jDkJcnQEi7M8n+rJWV7DMzyW/QtXNy7zn3ijEGpZRSgSfI7gBKKaWyRxu4UkoFKG3gSikVoLSBK6VUgNIGrpRSASokP39YhQoVTPXq1fPzRyqlVMCLj4/fZ4ypeO54vjbw6tWr43a78/NHKqVUwBORhMzG9RCKUkoFKG3gSikVoLSBK6VUgNIGrpRSASpLJzFFZDtwBEgDUo0xDhG5DJgEVAe2A08bYw7mTUyllFLnupQZeGNjTB1jjMNb9wIWGmOuAxZ6a6WUUvkkJ4dQHgPGeL8eAzye4zRKKaWyLKsN3AAuEYkXkQ7esSuNMbsAvJ+vyOyFItJBRNwi4k5KSspWyP0HT/PVkAQOH03N1uuVUqogymoDv9MY8x/gIaCziDTK6g8wxgwzxjiMMY6KFf9nI1GWrFx3hAEjErnpnuUMGp2Yre+hlFIFTZYauDFmp/fzXmAGUA/YIyJXAXg/782rkE0bXkaH5yoD8OnABMIc0exOOplXP04ppQLCRRu4iJQUkdJnvgbuB9YCPwNtvE9rA8zKq5CTZrsYNr4jbZ7a5Bur+5Cbt7/Ymlc/Uiml/F5WZuBXAktEZDUQC8w1xswDPgfuE5HNwH3eOk/UqF4FgDFTJwJOXnuxnFVP2U2YI5pNW4/n1Y9WSim/Jfl5T0yHw2GyezGrQ0eOcnPjFhlGihAc/DZpaVZ1V72yTBhUExHJeVCllPIjIhKfYQm3T8DsxCxbuhQet4tBH/f2jpwmLc1Jj46hAPwZe4jwiBiWxCXbllEppfJTwMzAMzp56hTX3NHcV1etXJlixd5g87YTAFS+sijRM+tStEjA/H5SSqnzCvgZeEbFihbF43YxffjXAPy7cyebt/Wie4fTAOzcc4qrb1/KtF/ybGGMUkrZLiBn4BkZY2jTtQ8Llyz3jd13Vz/m/3nIV69fVJ+ypfP13hVKKZVrCtQMPCMRYeyAj/h96gjf2Pw/u9Gp9W5ffXPj5QwYscOOeEoplWcCvoGfUaN6VTxuF+1aPQHAkHFDAScvPFkegK+G/EuYIxrPbt0ApJQqGApMAz/D2f0VVkVN8tVjp0Xy5MMrfHW95m66OjeTn4eOlFIqLxS4Bg5Q8fLyeNwuPu7ZGYBpv8wGnLzxUhkAJs/eS3hEDGs3HrUxpVJK5UzAn8S8mOMnTlC7aUtSTp4CIKJOHTZubsGRY9YOoLq3lGbmiNoEBekGIKWUfyqwJzEvpkTx4myNnsPIvu8DELdqFUeO9aFnxyIAxP91hCr1YlgUozcTUkoFlgI/A88oNTWNh17ozPq//wGgwmWXUfnKXvy14RgA5cqGEP9LBKHFCvzvNaVUACm0M/CMQkKCmf/TEGaP/gaAfQcO8NeGN+na3trBmXwolWvvXMpPM3df6NsopZRfKFQN/Iz/1LqJxLgomje17kvRf/iXgJNm95YFoOfHWwlzRHMg+bSNKZVS6sIKZQMHawPQ0M/fJXrmaN/Y3IXdePmZBF9du2ksnw9KyOTVSillv0LbwM+oHl4Zj9vF621bATBy0mjASbtW1gag70YlEuaIJiExxb6QSimViULfwM/o1bktaxZM9dUjJkTSrEmMr77j8Xg69d6oG4CUUn5DG3gGl5Urg8ft4qt3uwIw97f5gJOu7UsDMHv+fsIjYlix9oiNKZVSylKolhFeihMpJ3E0+y/Jh6xmXfvGG9md1Jqk/daJzZuvL8mvY28lJEQ3ACml8pYuI7xExUOLsW7hNMZ9+wkAazZuJGn/u/ToZP2Trf/7GNUaxBC1eL+dMZVShZjOwLMgPT2dx9t1I/6v9YC1u7PWDR8Su8q6lkposSDWLKhHieLBdsZUShVQOgPPgaCgIH7+YQBR4wYD1vVVYlf15I2XDgOQcjKd6+5axqhJu+yMqZQqZLSBX4JaN9YgMS6Kls3vA+DbH/oDTp582Fpy+O5X/xDmiCZp/ykbUyqlCgtt4JdIRBjwQU9i54zzjU37JZLnW/ztq+s8EMcH/bbZEU8pVYhoA8+msEpX4HG7ePOVFwH4cfoEwEmn1tZsfPhPOwlzRLNl+3H7QiqlCrQsN3ARCRaRlSIyx1vXEZFlIrJKRNwiUi/vYvqvLi//l/WLpvvqIeMiadrwN19991MreSFyvW4AUkrlukuZgXcBNmSovwScxpg6QB9vXSiVLV0Kj9vFtx++CcCCJX8CTrp3KAHAwiUHCY+IYfnKQzamVEoVNFlq4CISDjQDRmQYNkAZ79dlgZ25Gy3wPPlwU7YtnUvlKysC8PWwt6hRfTTVwosB0KL9Wu58Ip7Tqel2xlRKFRBZnYEPAN4EMnaeSOArEdkB9AV6Z/ZCEengPcTiTkpKykHUwFC0SBHi5o5n0vdfALBlewIJiW/To6P1T7d9RwrVGyzl5/n77IyplCoALtrARaQ5sNcYE3/OQ68AXY0xVYCuwMjMXm+MGWaMcRhjHBUrVsxx4EDRMOI2EuOiuKvebQD0HfoRIh/RqL71R8srvTcR5ojmyNFUO2MqpQJYVmbgdwKPish2YCLQRETGAW2AM2fvpgCF8iTmhYgIEwd/wcKJQwEwJp0/lnfn1RfO/iVy4z3L+X5sol0RlVIB7KIN3BjT2xgTboypDjwL/GaMaY11zPtu79OaAJvzLGWAu7HG1XjcLl54qjkAg8cOBpy0esxacvjxtwmEOaLZtfekjSmVUoEmJ+vA2wNfi8hq4FOgQ+5EKrg+6/UG8b9O8NUTZkXyzCNrfbXjYTe9PttqRzSlVADSi1nZZMi4qXw0YJivfu3FfgwcfXaZ4YKJdbipRkk7oiml/Mz5LmalDdxGR48d54a7H/fVdzoiiFvdjFOnrf8mdzjKMmlwTYKC9JrjShVmejVCP1SqZAk8bhdDPn8XgGh3HKdOf0CPjqEAxLgPUaVeDH/GJtuYUinlr3QG7idOp6Zy7zMd2JpgrUgJq1SJUiUj2bT1BACVKhYlZlZdihXV37lKFTY6A/dzRUJC+GPaD8wc0R8Az+7dbNrai+4drUvT7k46xTV3LGXKnL12xlRK+RFt4H4mok5NEuOiuL/R7QB8PfQzwMn9jcoCEPnBZsIc0SQf1g1AShV22sD9kIgwqp+T36ee3dzq+qMbHZ47e7mZmk2W03/4v3bEU0r5CW3gfqxG9Sp43C46Pf8UAMPGDwectHnK2gDUd+gOwhzRJO5KsTGlUsou2sADwHtdOrDaNclXj5kayRMPnD0ZXP+ReLq8/7dec1ypQkYbeICocFl5PG4Xn7z1GgAzouYCTrq8bF0ca+rcJMIjYliz8aiNKZVS+UmXEQagEykp3HLf0xw/YR06qVu7NlsSWnLocBoAt9UsxawfbiE4WDcAKVUQ6DLCAqR4aCib//yZUf2cAMSvWcOhw33o2SkEgJXrjlK1fgwLlxywM6ZSKo/pDDzApaWl0azN66zZuAWA8mXLUS3sbVatPwZA2dLBxP8aQfHQYDtjKqVyQGfgBVRwcDDzxg1mzuhvATh4KJlV69+kazurgR86kkaNhssYN323nTGVUnlAG3gBcVutG0mMi+Kx++8BoP+IvoCTR5qWA+CtT7cS5ojmQPJp2zIqpXKXNvACREQY/OnbxMwc4xubvaArbZ/e5qtrN43ls4HbbUinlMpt2sALoGrhV+Fxu4hs9xwAoyaPBZy0a2VtABo42kOYI5ptO07YmFIplVPawAuwnp3asGbBVF89YkIkD96zxFc3fGIF7d/cqBuAlApQ2sALuMvKlcHjdvH1e90AmLd4IeCkW/tSAPzy237CI2KIX3PExpRKqezQZYSFSMrJU9Rr/hz7D1q3brv5uus5kNyG3UnWJWtvvLYEUePrEBKiG4CU8ie6jFARWqwof82fwvjvPgVg/ea/2Z30Dj07Wg1749bjVGsQw6+L9tsZUymVRToDL6TS09N5skMPYletBSC0WDHq1PyEZSusQylFQoR1v9WnZAndAKSU3XQGrv6foKAgZozoR9T47wFIOXmSZSt68HrbZABOpxqub7SMkRN3XuC7KKXspA28kKt1w7V43C5aPfYgAN+N+gZw8lQza8lhn77bCHNEs3ffKRtTKqUyow1cAdD3vW7Ezhnnq6fOjaR1i02++rYH4+jz9T92RFNKnUeWG7iIBIvIShGZk2HsdRHZJCLrROTLvImo8ktYpSvwuF306twWgHHTJwJOXnm+HAAjJ+wizBHN5m3H7QuplPK5lBl4F2DDmUJEGgOPAbcYY2oCfXM5m7LJ621bsWHxDF/9/Y9daXz7Al99T8uVtH5jnW4AUspmWWrgIhIONANGZBh+BfjcGHMSwBizN/fjKbuUKVUSj9vFwI97AbBoaTTgpEfHElYdk0x4RAzLVhyyMaVShVuWlhGKyFTgM6A00MMY01xEVgGzgAeBFO94XCav7QB0AKhatWrdhISE3Euv8sWp06dp9ORL7Ni5B4Crq1QBXmXbDuuOQNXCQvl92m0UCdFTKkrlhWwvIxSR5sBeY0z8OQ+FAOWBBkBPYLKI/M8WPmPMMGOMwxjjqFixYvbSK1sVLVKEZT//yJQhXwGwbccOtu3oTfeO1i3cEjwpVG+wlJnzkuyMqVShk5Up053AoyKyHZgINBGRcUAiMN1YYoF0oEKeJVW2u8NxK4lxUdxzuzUR+Hrox4CTxrdbN1bu/O7fhDmiOXI01caUShUeF23gxpjexphwY0x14FngN2NMa2Am0ARARK4HigL78i6q8gciwvjvPmXR5OG+sUVLu/PKC2dPgdx4z3IGjU60I55ShUpODlr+AFwjImuxZuZtjC5LKDSuv6YaHreLtk8/BsD3Y78HnDz3hLUB6NOBCYQ5otm556SNKZUq2PRaKCrH9uzbz38ebOWrWzZ/nClzbvXVzz1xJV++U8OOaEoVCHotFJVnrqxwOR63i/e7dgRgypyZgJPX25YFYPyMPYQ5olm/+Zh9IZUqgHQGrnLVseMnuKnxE6SlpQPQ4D91WbXuUVJOnqnLMGVILYKC9JrjSmWVzsBVvihZojj/Lp/HsC/eA2DZinhSTr5Pj05FvfVhqtSL4Y9lyTamVKpg0Bm4yjOpqWnc999O/P2PtXmr0hUVKV+2Oxs2WzdTrnh5EZbPdlCsqM4jlLoQnYGrfBcSEsyiycOZObI/ALv3JrFhcy+6trd2cCbtP801dyxl0uw9dsZUKmBpA1d5LuLWmiTGRfFw44YA9B/+BeDkgbutk5zdnFsIc0Rz8NBpG1MqFXi0gat8ISIM/6oPf04f5RuL+r0b7Vqd3fBT695Yvh76rx3xlApI2sBVvrqmahget4tXX3gagBETRgJOXnza2gDUb/gOwhzR7NiZYmNKpQKDNnBli3feaMdf8yf76tGTI3n0/lhf3eDReF57d5Nec1ypC9AGrmxzeflyeNwuPu31OgA/u34FnES+XBqAGfP2ER4Rw+r1R2xMqZT/0mWEyi+cSEnhtgee5cgx63ZtdWrWIiHxGQ4esq5seOvNpZg96haCg3UDkCp8dBmh8mvFQ0PZ+PtMRvf/EIBV69Zy8NB79OwUAsDq9UepWj+GBUsO2BlTKb+iM3Dld9LS0ni0bSSr1m8CoGyZ0lxb7T1WrLGupVKqZDCroiIoHhpsZ0yl8o3OwFXACA4OZu7Y7/hl7EAADh0+woo1b9LlZetY+NFjadRouIyxU3fZGVMp22kDV37r1puvJzEuihYPNQHgm5H9ACePPWAtOez9+T+EOaLZf1A3AKnCSRu48msiwncf9WLZz2N9Y7OiInmx5T+++pb7Yvnk2+02pFPKXtrAVUCoUrkSHreLbu1bAzB6yo+Akw7PWbPxwWM9hDmi+effEzamVCp/aQNXAaV7xxdYu3Cqrx42PpIH7v7TV9/VYgUv99igG4BUoaANXAWc8mXL4HG76Pd+DwCifv8NcNKtQ0kA5i0+QHhEDHGrD9uYUqm8p8sIVUA7eeoUDR55gb37rfXhN9aowe69z5B82Fo/ft3VxVkw4TZCQnQDkApcuoxQFUjFihZlZdREJgz8DICNW7aQfPgTwAnA5m0nqNYghrkL99mYUqm8oQ1cFQiNGtRlR+w8bq97a4bRPkA8AB3e2kSVetEcO55mSz6l8oI2cFVgBAUFMXXoV8yfMMQ7EgzMAd4CID0drm+0jOE/7bQrolK5Shu4KnBuvu4aPG4Xzz3xkHekBOCkZXNryeEH/bYR5ohmz75TtmVUKjdkuYGLSLCIrBSROeeM9xARIyIVcj+eUtn35TtdiZs73ldPmRNJq8fW++r/PBjHu1/+k9lLlQoIlzID7wJsyDggIlWA+wC9D5byS5WvrIjH7eLt114GYMKsKYCTV1+w7sc5avIuwhzR/P3PcRtTKpU9WWrgIhIONANGnPNQf+BNQHdNKL/W+cVn2LB4hq8ePLYbjeq7fHXjp1fSqvM63QCkAkpWZ+ADsBp1+pkBEXkU8BhjVl/ohSLSQUTcIuJOSkrKdlClcqpMqZJ43C4Gf9IbgD+WLwWc/PfxNG+dTHhEDDHuQzamVCrrLtrARaQ5sNcYE59hrATwDtY6rQsyxgwzxjiMMY6KFSvmKKxSueGxBxqzfdkvVK9SGYCfZk4B/gCs64237LSW+o+4OXU6/fzfRCk/kJUZ+J3AoyKyHZgINAF+BK4GVnvHw4EVIlIpj3IqlauKhIQQPWM004b1BTYBKwA3sBKAxF0nufr2pcyYp381Kv91SVvpReQeoIcxpvk549sBhzHmgtvddCu98kfGGF6IfI/fomOBWkAFoKb3s2XD4vqUKRViU0JV2OlWeqXOQ0T48ZuPWTxlBLAWWA7MoONzu33Pueme5Xz7ww67IiqVKb2YlVLn6NN3MCMnzvTVzz85gB+nHfTVsXMchFUqZkMyVVjpDFypLPqwx6usnDfRV/84LZKnHl7lq+s1d9P9w8265FDZThu4Upm4osJleNwunN1fAWDqL7MAJ6+/ZG0AmvjzXsIjYli76aiNKVVhp4dQlLqIY8dPUOvepzh12rp5cr3b/sPajY9x/IS1zDDi1tJMH16boCC95rjKG3oIRalsKlmiONuWzmXEV9a2h9iVKzh+4n26dywKQNzqI1SpF8PipQcv9G2UynU6A1fqEqSmpvHg853ZsNm6CNaVFSpQ8fKerN1kXUvlsnIhxM2NILSYzo1U7tEZuFK5ICQkmAUThvDzqG8A2LNvH2s3vUW39ikAHEhO5do7lzJx1h47Y6pCQhu4UtlQt/ZNJMZF8XCThgD0G/4F4OShxtZJzu4fbSHMEc2B5NM2plQFnTZwpbJJRBj+ZR+WzBjlG/t1UTfatTq74ad201i+/D7BjniqENAGrlQOXV0lDI/bxWsvPgPAiAk/AE5eesa6A9A3IxMJc0STkJhiY0pVEGkDVyqX9H7tZdYsmOKrf5gUSbN7l/nqOx6P55Xem3QDkMo12sCVykWXlSuLx+3ii7e7ADB3YRTgpGv70gD8PH8f4RExrFp3xMaUqqDQZYRK5ZETKSdxNPsvyYesZn3rTTeRuPu/7D+YCkCtG0ryy9hbCQ7WDUDqwnQZoVL5rHhoMdYtnMbYAR8DsHrDBvYffI8eHYMBWLvpGFXrx+D6fb+dMVUA0xm4UvkgLS2Nx9t1Y8Ua677gZUqV4oZr3ydutXUtleKhQaxZUI/iocF2xlR+SmfgStkoODiY2aO+Yd64QQAcPnqUuNU96fLyYQBOpKRTo+EyRk/eZWdMFWC0gSuVj2rfeB2JcVE8+XBTAL4Z2R9w0uIha8nhO1/+Q5gjmn0HTtmYUgUKbeBK5TMR4dsP32T57B99Y9N/jaRNyy2++tb74/hwwDY74qkAog1cKZuEX3UlHreLHh1fAGDMlPGAk46tywEwdNxOwhzRbE04YV9I5de0gStls67tW7Put2m+eui4rtx312Jf3ejJFbzYdb1uAFL/Qxu4Un6gXJnSeNwuBnzQE4D5f/6OtQGohLc+SHhEDHGrDtuYUvkbXUaolJ85eeoUdz7xIrv27APghmuu4diJdiTuOgnAtdWKs3BSHYqE6PyrsNBlhEoFiGJFi+Ke+xMTB38BwKZ//iFx19v06GRNtrYmnKB6g6XMXrDPzpjKD+gMXCk/lp6ezrOdexEdtwqAkOAQbq/7BX/Gnj2Usun3+pQqGWJTQpUfdAauVAAKCgpi8vdfsmDiUABS01L5M7Y7r714dvv9DXcvZ8g4j10RlY2y3MBFJFhEVorIHG/9lYhsFJG/RGSGiJTLs5RKFXI31bgaj9tF6xbNABg4eiDg5JlHrQ1AHw3YTpgjmt1JJ21MqfLbpczAuwAbMtTzgVrGmFuAv4HeuRlMKfW/vni7C+5ffvLVk36OpNVj63x13Yfc9P58qx3RlA2y1MBFJBxoBow4M2aMcRljUr3lMiA89+Mppc511RUV8LhdvNelPQATZk0FnHRuUw6AsVN3E+aIZtPW4/aFVPkiqzPwAcCbQPp5Hn8J+DU3AimlsqbT8y3Z9PtMXz1oTFfuqj+PYO8FDZs8s5JnXl2rG4AKsIs2cBFpDuw1xsSf5/F3gFRg/Hke7yAibhFxJyUl5SisUur/K1WyBB63i+8/eweAP5cvJy3NSY+OoQAsiT1EeEQMS+KSbUyp8spFlxGKyGfA81hNOhQoA0w3xrQWkTZAJ+BeY8xF/17TZYRK5Z3Tqak0eboD//ybCEDVypUpVuwNNm+zrqVy1ZVFiZ5Rl2JFdfFZoMn2MkJjTG9jTLgxpjrwLPCbt3k/CLwFPJqV5q2UyltFQkL4c/oPzBjRD4B/d+5k87ZedO9wGoBde05xzR1LmTp3r50xVS7Kya/igUBpYL6IrBKRIbmUSSmVA/Xq1CIxLoqmd9UH4OthnwJO7mtUFoAu728mzBHNoSOpF/guKhDoTkylCrAt23dw91Mv++pOrTsyZFwlX92zU1Ui21WxI5q6BLoTU6lCqEb1KnjcLtr/twUAQ8YNBZy88KS1AeirIf8S5ojGs1s3AAUibeBKFQIfdOvEqqhJvnrstEhaPLTCV9dr7ibyg8265DDAaANXqpCoeHl5PG4XH/fsDMD0X2cDTl5vWwaAKXP2Eh4Rw9qNR21MqS6FHgNXqhA6fuIEt9z3NCdSrEMnEXXqsHFzC44cSwOg7i2lmTmiNkFBYmdM5aXHwJVSPiWKF2fLktn80PcDAOJWreLIsT707FgEgPi/jlClXgyLYg7amFJdjM7AlSrk0tLSeOj511j3t3URrAqXXcZVV7zFmo3W9o5yZUNwz3VQPDTYzpiFms7AlVKZCg4OxvXT98wZ/S0A+w4cYM3Gt+ja3trBmXwolRoNlzF+xm47Y6pMaANXSgFwW60bSYyLonnTRgD0H/4l4KTZveUAePOTrYQ5ojmQfNq+kOr/0QaulPIREYZ+/i7RM0f7xuYu7MrLzyb46tpNY/l8UEImr1b5TRu4Uup/VA+vjMft4o2XWgEwcuJowMnLz5YD4LtRiYQ5otmeeMK2jEobuFLqAt56tS1rFkz11SMndqVZkxhffefjK+jYa6NuALKJNnCl1AVdVq4MHreLr97tCsDc3+YDTrq2Lw3AnAX7CY+IYcXaIzamLJx0GaFSKstSTp4iotlzHEg+BECtG25gz77nSdpvndi8+fqS/Dr2VkJCdANQbtJlhEqpHAstVpQ1C6Yw7ttPAFi7aRNJ+9+lRyerlaz/+xjVGsQQtXi/nTELDZ2BK6WyJT09nSfadcP913rA2t1Z64YPiV1lXUsltFgQaxbUo0Rx3QCUUzoDV0rlqqCgIGb9MICocYMB6/oqsat68sZLhwFIOZnOdXct44eJO+2MWaBpA1dK5UitG2uQGBfF04/cD8C3P/QHnDz5sHXN8ff6biPMEU3S/lM2piyYtIErpXJMROj/fg9i54zzjU37JZLnW/ztq+s8EMf7X/9jR7wCSxu4UirXhFW6Ao/bxZuvvAjAj9MnAE46ti4HwIgJuwhzRLNlu94HPTfoSUylVJ44dOQoNzdu4avvbdiIhUsaZ6jLM6b/TYjoksOL0ZOYSql8VbZ0KTxuF99++CYAC5f8ATjp1qGEtz5IeEQMy1cesjFlYNMZuFIqz506fZqGT7TFs3svADWqV+d0agcSEq07AlWvEsriKbdRJETnlJnRGbhSyjZFixQhds44Jg/5EoAt27eTkPg2PTqmA7B9RwrVGyxllivJzpgBR2fgSql8ZYyhVede/Bm7EgCRIO6q9xV/LD/se87GxfUpXSrEroh+R2fgSim/ICJMHPwFv00aBoAx6fyxvDud2+zzPefGe5YzeEyiXREDRpYbuIgEi8hKEZnjrS8Tkfkistn7uXzexVRKFTQ3XFsdj9tFm5aPADBozCDASavHrFbyyXcJhDmi2bX3pI0p/dulzMC7ABsy1L2AhcaY64CF3loppS7Jp2+9TvyvE3z1hFmRPP3IGl/teNjNW59usSOa38tSAxeRcKAZMCLD8GPAGO/XY4DHczWZUqrQqFTxcjxuF30iOwAwefZ0wEnnNmUBGDd9D2GOaDZsOWZjSv+TpZOYIjIV+AwoDfQwxjQXkWRjTLkMzzlojPmfwygi0gHoAFC1atW6CQl6Lz2l1PkdPXacmxq3ID3dWqFypyOCuNXNOHXa6lV3OMoyaXBNgoIKzwagbJ/EFJHmwF5jTHx2frAxZpgxxmGMcVSsWDE730IpVYiUKlmCHbHzGPr5uwBEu+M4dfoDenQMBSDGfYgq9WL4MzbZxpT+4aIzcBH5DHgeSAVCgTLAdCACuMcYs0tErgIWG2NuuND30mWESqlLcTo1labPdmTL9h0AVL7ySkqX6sqmrdbNlCtVLErMrLoUK1qwF9RlewZujOltjAk3xlQHngV+M8a0Bn4G2nif1gaYlYt5lVKKIiEh/D51JDNH9Adg5549bNrai+4drUvT7k46xTV3LGXynL12xrRNTn5tfQ7cJyKbgfu8tVJK5bqIOjVJjIvigbtvB+DroZ8BTu5vZJ3k7PrBZsIc0SQfTrUxZf7TnZhKqYCyNSGRRk++5Ks7PNeeYeMr++oeHavQtX1VO6LlGd2JqZQqEK6tFo7H7aLT808BMGz8cMBJm6esRXB9h+4gzBFN4q4UG1PmD23gSqmA9F6XDqx2TfLVY6ZG8vj9Z//Cr/9IPG/0+Zv8PMqQ37SBK6UCVoXLyuNxu/jkrdcAmOmaCzjp8nIZAKb9kkR4RAxrNh61MWXe0WPgSqkC4URKCrfe/wzHjltLDOvWrs2WhJYcOpwGwG01SzHrh1sIDg68DUB6DFwpVaAVDw3l7z9mMaqfE4D4NWs4dLgPPTtZl6Vdue4oVevHsHDJATtj5iqdgSulCpy0tDSav/gGf23YDED5suWoFvY2q9Zb11IpUyqYFfMiKB4abGfMLNMZuFKq0AgODubXHwcxd8x3ABw8lMyq9W/StZ3VwA8fTaNGw2X8OG23nTFzTBu4UqrAqlPzBhLjonj8gcYA9B/RF3DySNNyAPT6bCthjmgOJJ+2L2QOaANXShVoIsKgT3qzdNYY39jsBV1p+/Q2X127aSyfDdxuQ7qc0QaulCoUqoZdhcftIrLdcwCMmjwWcNKulbUBaOBoD2GOaLbtOGFjykujDVwpVaj07NSGtQun+uoREyJ58J4lvrrhEyto/+bGgNgApA1cKVXolC9bBo/bRb8+3QGYt3gh4KRr+1IA/PLbfsIjYohfc8TGlBenywiVUoVayslT1H+kNfsOJANwU43rOHjoRXYnWZesvfHaEkSNr0NIiH0bgHQZoVJKZSK0WFFWuybz08BPAdiwZTO7k96hZ0erYW/cepxqDWL4ddF+O2NmSmfgSinllZ6ezlMde7B85VoAQosVo07NT1i2wjqUEhIsrF9Un5Il8ncDkM7AlVLqIoKCgpg+vB+un74HIOXkSZat6MHrbZMBSE0zXN9oGSMm7LQx5VnawJVS6hw1r78Wj9tFq8ceBOC7Ud8ATp5qZi05fP/rbYQ5otm775SNKbWBK6XUefV9rxuxc8b56qlzI2ndYpOvvu3BOPr0/ceOaIA2cKWUuqCwSlfgcbvo1bktAOOmTwScdHq+HAAjJ+4izBHN5m3H8z2bnsRUSqksOnz0GDfd84Svbnz7nSxa2vRsfUc5fvzmZkRyd8mhnsRUSqkcKlOqJB63i4Ef9wJg0dJowEmPjiWsOiaZ8IgY5i3OnyWHOgNXSqlsOHX6NHc/9TL/eqxL0l5dpQrwKtt2nL2Z8ralt1O0SM7nyToDV0qpXFS0SBGWzhrL1KF9Adi2YwfbdvTmxZbpvudcfftSps7dm2cZdAaulFI5ZIyh9RvvsHjp2f52b8N+LFxyyFcnxt2R7WPj2Z6Bi0ioiMSKyGoRWSciTu94HRFZJiKrRMQtIvWylUwppQKciDD+u09ZNHm4b2zhkm683nafr07wpGT20hzJyiGUk0ATY8ytQB3gQRFpAHwJOI0xdYA+3loppQqt66+phsft4sWWjwLw3ahBgJPls2+kenjxXP95F23gxnLUWxbxfhjvRxnveFnAP/aWKqWUzT556zXif53gq+s/0oqUk7m/azMkK08SkWAgHqgBDDLGLBeRSCBKRPpi/SK44zyv7QB0AKhatWpuZFZKKb9XqeLleNwuBo2exNaEREKCc/8CWJd0ElNEygEzgNexmvLvxphpIvI00MEY0/RCr9eTmEopdelyZRmhMSYZWAw8CLQBpnsfmgLoSUyllMpHWVmFUtE780ZEigNNgY1Yx7zv9j6tCbA5jzIqpZTKRFaOgV8FjPEeBw8CJhtj5ohIMvCNiIQAKXiPcyullMofF23gxpi/gNsyGV8C1M2LUEoppS5Ot9IrpVSA0gaulFIBShu4UkoFKG3gSikVoPL1aoQikgQkABWAfRd5uj/S3PlLc+efQMwMhSd3NWNMxXMH87WB+36oiDuzXUX+TnPnL82dfwIxM2huPYSilFIBShu4UkoFKLsa+DCbfm5Oae78pbnzTyBmhkKe25Zj4EoppXJOD6EopVSA0gaulFIBKk8buIi09N4IOV1EHBnG7xOReBFZ4/3cJMNjdb3jW0TkW8nubZzzJvflIrJIRI6KyMBzXuO3ub2P9fZm2yQiD/hT7nNy3ioiS72ZZotImQyPZfoe/MGFbvLt57kneTOvEpHtIrIqw2N+mxtARF73ZlsnIl9mGPfb3CLygYh4MvybP5zhsUvPbYzJsw/gJuAGrJtAODKM3wZU9n5dC/BkeCwWuB0Q4FfgobzMeIm5SwINgU7AwHNe48+5bwZWA8WAq4GtQLC/5D7nPcQBd3u/fgn46GLvwR8+ANeZfzvgYWBxIOQ+5z18DfQJhNxAY2ABUMxbXxEguT8AemQynq3ceToDN8ZsMMZsymR8pTHmzE2Q1wGhIlJMRK4CyhhjlhrrXY0FHs/LjJm5QO5jxrqMbkrGcX/PDTwGTDTGnDTGbAO2APX8Jfc5bgD+8H49H3jS+3Wm78GGfOdzvpt8+3tuALx/eT0NnLkTr7/nfgX43BhzEsAYs9c77u+5zydbuf3hGPiTwErvf4gwIDHDY4neMX/n77nDgB0Z6jP5/DH3WuBR79ctgSrer8/3HvxFJPCViOwA+gK9veP+nvuMu4A9xpgzd9by99zXA3eJyHIR+V1EIrzj/p4b4DUR+UtEfhCR8t6xbOXO0l3pL0REFgCVMnnoHWPMrIu8tibwBXD/maFMnpYn6xxzkjuzb5fJmD/lPl++fMud0YXeA9Zhk29FpA/wM3DqzMsyeX6+roG9SO57ga7m7E2+R2LdftCvc2f4f6YVZ2ff4Oe5sXpXeaABEAFMFpFr8P/c3wMfeTN9hHXY6iWymTvHDdxc5E705yMi4Vh3uH/BGLPVO5wIhGd4Wjhn/xTNVdnNfR7+njuRszNZOJsv33JnlIX3cD+AiFwPNPOOne895JsL5RaRsUAXbzkFGOH92q9zA3hvi9iC/3+HLb/OLSKvANO9h/5iRSQd6wJRfp07IxEZDszxltnKbcshFLFukjwX6G2MiT4zbozZBRwRkQbeY3IvAJc6G853AZD7Z+BZ73mGq4HrgFh/zC0iV3g/BwHvAkO8D2X6HuxJmanz3eTb33OD90blxpiMh9P8PfdMrH/nM7/oi2Jd3c+vc3vPO53xBNYhQ8hu7jw+4/oE1m+Wk8AeIMo7/i5wDFiV4ePMWWSH901tBQbi3S2az2eKM83tfWw7cAA46n3OzQGS+x1vtk1kWGniD7nPeQ9dgL+9H59nzHO+9+APH1irk+KxVhIsB+oGQm5vvtFAp0zG/TY3VsMe5/1/dwXQJEBy/wisAf7CatpX5SS3bqVXSqkA5Q+rUJRSSmWDNnCllApQ2sCVUipAaQNXSqkApQ1cKaUClDZwpZQKUNrAlVIqQP0f4C3IBLkU1eIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loop40.0, tr2650,wedgePops63653.8, 1659.4, 29199.2, 4.4, 32790.8, Overedge?1, 0, 1, 0, ,Satisfied?0000,yoyo?0000 \n",
      "   targetWP, latest drx4 are tWP,dr, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087, 386757.1,0.9087\n",
      "wedge no, currentR,oldWedgePop, wedgePop, overEdge? 0 2.73562 1152.2073 1659.4345 1\n",
      "wedge no, currentR,oldWedgePop, wedgePop, overEdge? 1 34.53934 28369.8762 29199.2157 0\n",
      "wedge no, currentR,oldWedgePop, wedgePop, overEdge? 2 0.91826 0.0569 4.3952 1\n",
      "wedge no, currentR,oldWedgePop, wedgePop, overEdge? 3 34.53934 32098.0827 32790.7587 0\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "I looped 40 times on tract 2650, giving up w pop 63653.80410800157\n",
      "I am working on tract number 2660 of 3017 tracts\n",
      "I am working on tract number 2680 of 3017 tracts\n",
      "I am working on tract number 2700 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 3.0 0 123.6 0.8737 214904.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 4.0 0 123.6 0.8076 214904.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 5.0 0 123.6 0.7466 214904.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 6.0 0 123.6 0.6902 214904.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 7.0 0 123.6 0.638 214904.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 8.0 0 123.6 0.5898 214904.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 9.0 0 123.6 0.5452 214904.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 10.0 0 123.6 0.504 214904.1\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2708 11.0 0 123.6 0.4659 214904.1\n",
      "we have 2 non-opposing shorted wedges for tract no 2711\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2717 4.0 3 90.0 1.6108 215654.4\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2717 5.0 3 90.0 1.485 215654.4\n",
      "I am working on tract number 2720 of 3017 tracts\n",
      "I am working on tract number 2740 of 3017 tracts\n",
      "I am working on tract number 2760 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2765 9.0 0 125.7 1.0171 197350.5\n",
      "I am working on tract number 2780 of 3017 tracts\n",
      "we have 2 non-opposing shorted wedges for tract no 2793\n",
      "I am working on tract number 2800 of 3017 tracts\n",
      "I am working on tract number 2820 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2822 10.0 0 99.6 0.8041 200625.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2822 11.0 0 99.6 0.7833 200625.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2822 12.0 0 99.6 0.7632 200625.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2822 13.0 0 99.6 0.7435 200625.6\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2832 8.0 0 119.3 1.022 224231.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2832 9.0 0 119.3 0.9536 224231.2\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2832 10.0 0 119.3 0.8899 224231.2\n",
      "I am working on tract number 2840 of 3017 tracts\n",
      "I am working on tract number 2860 of 3017 tracts\n",
      "I am working on tract number 2880 of 3017 tracts\n",
      "I am working on tract number 2900 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 2900 3.0 0 88.9 0.4429 367592.9\n",
      "I am working on tract number 2920 of 3017 tracts\n",
      "I am working on tract number 2940 of 3017 tracts\n",
      "I am working on tract number 2960 of 3017 tracts\n",
      "I am working on tract number 2980 of 3017 tracts\n",
      "I am working on tract number 3000 of 3017 tracts\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 3000 11.0 0 86.9 0.6555 202677.9\n",
      "we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop 3000 12.0 0 86.9 0.6337 202677.9\n",
      "Sum of weights over all precinct home districts should have been 1.000, but was  1.000327175953632\n",
      "Average and max number of wedgePop loops per tract were:  5.657275439177991 40.0\n",
      "min,average,max of Home District areas were:  0.0 0.7049047700215471 4.104812282753314\n",
      "calculated statewide vote was 0.48587138644077016, should have been 0.48586542278500044\n",
      "calcd statewide Hispanic pop was 0.0441898517336008, should have been 0.04644870329550368\n",
      "calcd statewide Black pop was 0.12355242227145435, should have been 0.13028134579603623\n",
      "fraction of HDs that with altered wedge angles near boundaries =  0.308584686774942\n"
     ]
    }
   ],
   "source": [
    "#3/13/22 - from HD2, but using coeff1, coeff2 (unrestricted opp wedge pop, wideAngle quadratic in ratio)\n",
    "# Bisect for yoyo > 3, precinct calcs after wedges finalized.  More aggressive Euler gain\n",
    "#minTractPop = 10  #this is set in a prior block\n",
    "pi=3.1415926536\n",
    "nWedges = 4  #number of wedges per home district polygon  \n",
    "avgWedgeAngle = 2*pi / nWedges\n",
    "wedgeTriAR = [math.sin(pi/nWedges)*math.cos(pi/nWedges)]*nWedges  #wedge triangle area ratio (= area / r*r)\n",
    "angle = [0.]*nWedges\n",
    "angle2 = [0.]*nWedges\n",
    "pt1 = [Point(0,0)]*nWedges  #these four define the polygon wedge for a growing home district\n",
    "pt2 = [Point(0,0)]*nWedges\n",
    "pt3 = [Point(0,0)]*nWedges\n",
    "pt4 = [Point(0,0)]*nWedges\n",
    "oldR = [0.]*nWedges  #wedge radius from previous loop\n",
    "# guessedR = [0.]*nWedges  #obsolete; was wedge radius if we extrapolate from population density of most recent wedge piece\n",
    "printPoly = [Polygon([(0,0),(0,1),(1,1)])]*nWedges #for debugging\n",
    "wedgePop = [0.]*nWedges\n",
    "tractLoopCounter = [0.]* nTracts  #this tracks how many loops per tract to get to target wedge Pop\n",
    "nearEdge = [0.]* nTracts   #not yet implemented; this will flag tracts near map edge for reprocessing\n",
    "tractUse = [0.] * nTracts  #this will store how much we use this tract in ALL HD's vs. expectation\n",
    "precinctUse = [0.] * nPrecincts   #same, but for each precinct / VTD\n",
    "loopTractUse = [0.] * nTracts  #same as above two, but only for the current loop / tract\n",
    "loopPrecinctUse = [0.] * nPrecincts\n",
    "HDvPop = [0.]*nTracts\n",
    "HDvGOP = [0.]*nTracts  #GOP lean of each tract's \"home district\"\n",
    "HDvBlack = [0.]*nTracts\n",
    "HDvHisp = [0.]*nTracts #pct Hispanic by home district\n",
    "HDweight = [0.]*nTracts  #relative weight of each district.  In absence of splits, will equal precinct pop\n",
    "HDarea = [0.]*nTracts  #geographical area of each home district\n",
    "HDradius = [[0.]*nWedges for t in range(nTracts)] #final wedge length for each Home District wedge\n",
    "HDangle = [[0.]*nWedges for t in range(nTracts)] #final included angle for each HD wedge\n",
    "angle0 = [-999.] * nTracts  #orientation of 0th wedge.  Random except re-oriented if we are near-boundary\n",
    "toler = 0.005  #adjustable - fractional slop in district population.  normally 0.01, to be reduced to 0.005\n",
    "tolerPop = toler * avgDistrictPop  #absolute slop in district pop\n",
    "nLoopPrint = 30  #at this loop number, we alert user of problem\n",
    "nGiveUp = 40  #we punt after this many loops\n",
    "nLoopSuperPrint = nGiveUp - 2 # at this loop number, we output wedge growth visuals\n",
    "wrongPop = [0.]*nTracts\n",
    "normalGain = 0.8  #adjustable - a bit less than 1.0 for stability, how far we step relative to expected perfect guess\n",
    "EulerGain = 1.5 #if we hit empty land, gain more aggressively to get through it\n",
    "#yoyoFactor = 0.3 #rate of reduction in gain as solver continues to yoyo in solving a wedge  #not currently used ***\n",
    "globalMax_dr = (MAP.area/nDistricts) ** 0.5  #put a reasonable upper limit on wedge radial growth step size\n",
    "tractPrintInterval = 20  #for tracking progress\n",
    "minTractArea = 0.00001 * MAP.area / nTracts  #failsafe for later div-by-zero\n",
    "homePopDensity = avgGridDensity  #seed this\n",
    "didWeRestart = [0] * nTracts  #will flag if we adjusted wedge angles due to a single shorted wedge\n",
    "coeff1 = 0.3  #linear term. we will adjust this empirically to tighten tract weighting near boundaries\n",
    "coeff2 = 0.3  #quadratic term.  These two control distortion in wedge angles relative to wedgePop shortness\n",
    "minWedgePop = [avgDistrictPop/nWedges] * nTracts  #wedge pop for wedge facing boundary (for tracts near boundaries)\n",
    "maxWideAngle = 0.8 * pi  #adjustable parameter.  (avoid wedges too close to half a pie\n",
    "\n",
    "for t in range(nTracts) :  #(nTracts):  #loop on each tract.  Start by resetting stats\n",
    "    gain = normalGain  #in case last precinct had convergence problems\n",
    "    if (t % tractPrintInterval) == 0 : \n",
    "        print(\"I am working on tract number {0} of {1} tracts\".format(t,nTracts) )\n",
    "    tractLoopCounter[t] = 0.  #for stability stats, will track how many times we need to loop for each tract\n",
    "    # isActiveG = [0]*nGrids  #resets whether each grid is relevant to this tract (not used; see alt grid turn-on method)\n",
    "    if (tractArea[t] > minTractArea) :  #too lazy to indent everything.  We'll catch zero tractArea later\n",
    "        homePopDensity = tractPop[t]/tractArea[t]  #temporary - estimate the local density for initial step\n",
    "    tractCP = Point(tractGeom[t].centroid.x,tractGeom[t].centroid.y)  #shorthand for centroid of each tract\n",
    "    for nG in range(nGrids):\n",
    "        if gridGeom[nG].contains(tractCP) :  #which grid contains the centroid of this tract?  Turn it on!\n",
    "            # isActiveG[nG] = 1  #I don't think I use this\n",
    "            homeGridDensity = gridDensity[nG]\n",
    "    maxStartDensity = max(homePopDensity,homeGridDensity)\n",
    "    minR = (avgDistrictPop / maxStartDensity / pi)**0.5   # conservative estimated radius of this tract's district\n",
    "    tinyR = 0.01 * minR   #ensures we start with small, but not infinitesimal wedge populations\n",
    "    angle0[t] = random.uniform(0,2.*pi)  #imparts random orientation to our starting wedge\n",
    "    loopTractUse = [0.]*nTracts  #this and below help us reset tract n precinct use after a wedge reset\n",
    "    loopPrecinctUse = [0.]*nPrecincts\n",
    "    # ***GROW WEDGES SIMULTANEOUSLY via ARRAYS, SO WE CAN REACT ON FLY TO BOUNDARY STOPS\n",
    "    HDpop = 0.  #running total of this tract's \"home district\" population\n",
    "    nActiveWedges = nWedges #active wedges have not run over boudnary\n",
    "    targetWedgePop = [avgDistrictPop / nWedges]*nWedges  #at beginning, split districtPop equally among wedges\n",
    "    #latestWedgeDensity = [0.]*nWedges  #stop using # pop'n density of the wedge piece we just added or subtracted\n",
    "    wedgePop = [0.]*nWedges\n",
    "    oldWedgePop = [0.]*nWedges  #wedge pop from previous round (needed for NR projection)\n",
    "    wedgePopGap = [0.]*nWedges\n",
    "    isOverEdge = [0] *nWedges #each wedge is still fully inside map boundary\n",
    "    isSatisfied = [0] * nWedges #wedges close enough to target are not improved upon\n",
    "    yoyoCount = [0] * nWedges #tracks how many times we've reversed this wedge's growth vs. shrink at current wPop target\n",
    "    wedgeMaxR = [0.] * nWedges #will track the largest radius this wedge has seen (to cap yoyo bisection step)\n",
    "    wedgeAngle = [avgWedgeAngle] * nWedges #reset to equi-angle when starting each tract    \n",
    "    currentR = [0.]*nWedges\n",
    "    old_dr = [0.]*nWedges\n",
    "    wedgeStop = 0  #obsolete? this will flag if we need to rejigger oldR when we stopped an over-boundary wedge\n",
    "    for nW in range(nWedges):\n",
    "        currentR[nW] = tinyR  #each wedge starts as a tiny triangle of this radius\n",
    "        old_dr[nW] = currentR[nW] #this will track the last radial step (to help convergence)\n",
    "    oldR = [0.]*nWedges   #for remembering last loop's wedge radius\n",
    "    max_dr = [globalMax_dr]*nWedges  #reset max possible positive radial step size\n",
    "    for nW in range(nWedges) :  #this loop: set up tiny wedges in each direction to seed each wedge loop\n",
    "        angle[nW] = (nW-0.5)*wedgeAngle[nW]+angle0[t]   #local variable for orientation of START of wedge\n",
    "        angle2[nW] = angle[nW]+wedgeAngle[nW]      #local angle for clockwise END of wedge\n",
    "        pt1[nW] = tractCP\n",
    "        pt2[nW] = Point(tractCP.x+currentR[nW]*math.cos(angle[nW]),  tractCP.y+currentR[nW]*math.sin(angle[nW]) )\n",
    "        pt3[nW] = Point(tractCP.x+currentR[nW]*math.cos(angle2[nW]), tractCP.y+currentR[nW]*math.sin(angle2[nW]) )\n",
    "        wedgePoly = Polygon([pt1[nW], pt2[nW], pt3[nW] ]) #build a tiny starter wedge triangle\n",
    "        wedgePop[nW] = tractPop[t]* wedgePoly.area/max(tractArea[t],minTractArea)  #max prevents rare div-by-zero\n",
    "    HDpop = np.sum(wedgePop)\n",
    "    if (tractPop[t] < minTractPop or tractArea[t] == 0 or isSkippedTract[t] == 1):\n",
    "        #go directly to jail, do not pass Go, this tract doesn't count\n",
    "        HDpop = avgDistrictPop  #white lie to kick us out of loop\n",
    "    while abs (HDpop - avgDistrictPop) > tolerPop :  #until we've grown the home district to the right size...\n",
    "        sumWedgePopGapChange = 0  #this will total wedge pops that fall short of expectations (when over boundary)\n",
    "        for nW in range(nWedges) :  #for each wedge, we'll build to gain pop or shrink to lose population ...\n",
    "            neededWedgePop = targetWedgePop[nW] - wedgePop[nW]\n",
    "            isSatisfied[nW] = 0  #default in case target changed last loop.  We'll check immediately below\n",
    "            if abs(neededWedgePop/targetWedgePop[nW]) < 0.5*toler :  #is this wedge close enough to stop iterating on it?\n",
    "                isSatisfied[nW] = 1\n",
    "            if isOverEdge[nW] == 0 and isSatisfied[nW] == 0:   #we skip over-boundary and near-perfect wedges\n",
    "                wedgePopDelta = wedgePop[nW] - oldWedgePop[nW]  #how much wedgePop gained in last loop\n",
    "                if (wedgePopDelta == 0): #our last wedge change was in an empty area (desert or off map)\n",
    "                    gainAdjust = EulerGain/gain  #Euler method often over-cautious at map edges or in sparse areas\n",
    "                    guessedRsquared = currentR[nW]*currentR[nW] * targetWedgePop[nW] / wedgePop[nW]  #Euler guess\n",
    "                    # can't use Newton-Raphson since last dy was zero, use Euler instead\n",
    "                    print(\"we hit a zero wedgePopDelta for tract, loop, wedge, wedgeAngle,r,pop\",t,tractLoopCounter[t],\n",
    "                          nW, round(180./pi*wedgeAngle[nW],1),round(currentR[nW],4),round(wedgePop[nW],1))\n",
    "                else: #use N-R estimation\n",
    "                    gainAdjust = 1.0\n",
    "                    R2delta = currentR[nW]*currentR[nW] - oldR[nW]*oldR[nW]  #this and below are run/rise of current slope\n",
    "                    guessedRsquared = currentR[nW]*currentR[nW] + R2delta / wedgePopDelta * neededWedgePop\n",
    "                    \n",
    "                guessedRsquared = max( guessedRsquared, 0. ) #minimum guardrail\n",
    "                guessed_dr = guessedRsquared ** 0.5 - currentR[nW]  #best guess for wedge radius change\n",
    "                #gain = max(0.3,normalGain ** (1. + yoyoFactor * yoyoCount[nW]))  #obsolete; using bisect\n",
    "                dr = gain * gainAdjust * guessed_dr   #gain typically ~0.8 for stability\n",
    "                dr = max( -0.5*currentR[nW],min(dr,max_dr[nW]) )  #apply min and max guardrails to wedge radius change\n",
    "                \n",
    "                if np.sign(dr) != np.sign(old_dr[nW]) :  #are we yoyoing? How many times?\n",
    "                    yoyoCount[nW] += 1\n",
    "                if yoyoCount[nW] > 3 and yoyoCount[nW] <= 6 :\n",
    "                    wedgeMaxR[nW] = max(wedgeMaxR[nW],currentR[nW]) #will track largest R in yoyo cycle\n",
    "                    max_dr[nW] = 2.*wedgeMaxR[nW]  #this will now store a reasonable max bisection step size\n",
    "                if yoyoCount[nW] > 6 :  #switch to bisection method; too many yo-yo's\n",
    "                    print(yoyoCount[nW],\"yoyos for tract,wedge,wedgePop,r=\",t,nW,wedgePop[nW],round(currentR[nW],4) )\n",
    "                    max_dr[nW] = 0.5 * max_dr[nW] #we are now bisecting ...\n",
    "                    if(neededWedgePop < 0):\n",
    "                        dr = max(-1.*max_dr[nW], -0.5*currentR[nW])  #reduce wedge size\n",
    "                    else:\n",
    "                        dr = max_dr[nW]  #increase wedge size\n",
    "                old_dr[nW] = dr  #these three lines -- save current as old values for next loop\n",
    "                oldR[nW] = currentR[nW]\n",
    "                oldWedgePop[nW] = wedgePop[nW]\n",
    "                if dr > 0. :  #we are growing a wedge trapezoid piece \n",
    "                    outerR = currentR[nW] + dr\n",
    "                    innerR = currentR[nW]\n",
    "                    currentR[nW] = outerR    #for next loop around\n",
    "                else:    #this wedge trapezoid piece will be SUBTRACTED from current wedge\n",
    "                    outerR = currentR[nW]\n",
    "                    innerR = currentR[nW] + dr  #remember, dr is negative here\n",
    "                    currentR[nW] = innerR             #for next loop around\n",
    "                #now, describe the new wedge to probe for precinct intersections ...\n",
    "                pt1[nW] = Point(tractCP.x+innerR*math.cos(angle[nW]), tractCP.y+innerR*math.sin(angle[nW]) )\n",
    "                pt2[nW] = Point(tractCP.x+outerR*math.cos(angle[nW]), tractCP.y+outerR*math.sin(angle[nW]) )\n",
    "                pt3[nW] = Point(tractCP.x+outerR*math.cos(angle2[nW]),tractCP.y+outerR*math.sin(angle2[nW]) )\n",
    "                pt4[nW] = Point(tractCP.x+innerR*math.cos(angle2[nW]),tractCP.y+innerR*math.sin(angle2[nW]) )\n",
    "                wedgePoly = Polygon([pt1[nW], pt2[nW], pt3[nW],pt4[nW]])  #true for wedge add-on or to-be-trimmed\n",
    "                \n",
    "                printPoly[nW] = wedgePoly  #for debugging\n",
    "                latestWedgePop = 0.  #for the new piece, not the entire triangle\n",
    "                usedTract = [0]*nTracts  #rezero lists of tracts and precincts that could straddle multiple grids\n",
    "                usedPrecinct = [0]*nPrecincts\n",
    "                for nG in range(nGrids) :  # loop over ACTIVE grids to look for intersecting tracts\n",
    "                    gridIntersxn = gridGeom[nG].intersection(wedgePoly)\n",
    "                    if (gridIntersxn.area > 0) :  #this grid is RELEVANT to this wedge\n",
    "                        for tt in range(nGridTracts[nG]) : #look for intersxns with all tracts in this grid\n",
    "                            nTT = gridTractNo[nG][tt] #shorthand for this tract's global tract no\n",
    "                            if(usedTract[nTT] == 0) :  #Did we not already look at this tract in another grid list?\n",
    "                                usedTract[nTT] = 1  #well, now we have!  Probe intersection with wedge\n",
    "                                overlap = tractGeom[nTT].intersection(wedgePoly).area\n",
    "                                if overlap > 0 :\n",
    "                                    fracArea = overlap/tractArea[nTT]\n",
    "                                    latestWedgePop  += fracArea*tractPop[nTT]  #always positive (used in density calc)\n",
    "                                    loopTractUse[nTT] += np.sign(dr)*overlap/tractArea[nTT] * tractPop[t]/avgDistrictPop\n",
    "                        # found all possible tract overlaps with this increment / decrement to this wedge.\n",
    "                        \n",
    "                wedgePop[nW] += np.sign(dr)*latestWedgePop  #for full triangle, based on this latest piece\n",
    "                # Now, flag if we're beyond boundary\n",
    "                if wedgePop[nW] < targetWedgePop[nW] : #if growing, confirm we're not beyond MAP boundary\n",
    "                    leadingEdge = LineString([pt2[nW],pt3[nW]])\n",
    "                    if leadingEdge.intersects(MAP) :  #still room to grow in part of edge, keep going\n",
    "                        gerrymandering = \"evil\"  #it had to be said\n",
    "                    else:  #this wedge is fully beyond the map. give up on more map intersection\n",
    "                        isOverEdge[nW] = 1\n",
    "                        shortedWedge = nW  #ID'ing highest numbered wedge that got shorted by the boundary in this loop\n",
    "                        oldWedgePopGap = wedgePopGap[nW]\n",
    "                        wedgePopGap[nW] = targetWedgePop[nW] - wedgePop[nW]  #how far this wedge's pop is below its target\n",
    "                        nActiveWedges -= 1  #a few lines below, we will adjust other wedge's targets\n",
    "                        sumWedgePopGapChange += wedgePopGap[nW] - oldWedgePopGap\n",
    "                        if (nActiveWedges == 0) : #we're doomed, somehow all wedges are short and off map\n",
    "                            print(\"PUNT! no more active wedges for tract, loop =\",t,tractLoopCounter[t] )\n",
    "                            tractLoopCounter[t] = nGiveUp + 1  #PUNT !!!\n",
    "                            \n",
    "                        max_dr = [globalMax_dr]*nWedges   #allow other wedges to take big steps again to catch up\n",
    "                        yoyoCount = [0] * nWedges  #go back to original gains on ALL active wedges\n",
    "                   \n",
    "        # end of nW loop to adjust all wedge populations by growing or trimming wedges, IDing over-edge wedges\n",
    "        tractLoopCounter[t] +=1   # still looping on home district Pop.\n",
    "        nReceivingWedges = nActiveWedges\n",
    "        oppFlag = 0\n",
    "        if 0 == 1: #always false; for HD2 we would have checked here for opp wedge restriction; ignore this block\n",
    "            # targetWedgePop[int(nWedges/2)] < 0.99 * avgDistrictPop/float(nWedges): #is opp wedge restricted?\n",
    "            oppFlag = 1\n",
    "            nReceivingWedges -= 1-isOverEdge[int(nWedges/2)]  #if yes, don't count opposite wedge as a receiver\n",
    "        if nReceivingWedges == 0: #rarely, the opposite wedge is the only active one\n",
    "            for nWW in range(nWedges): #in this case, we allow the opposite wedge to pick up the slack\n",
    "                targetWedgePop[nWW] += sumWedgePopGapChange/max(1.,float(nReceivingWedges) )\n",
    "        else: #if the opp wedge has a ceiling wedgePopTarget, distribute wedgePopGap to other active wedges\n",
    "            for nWW in range(nWedges):  #time to make adjustments in target wedge pops based on boundary fails\n",
    "                if nWW != int(nWedges/2) or oppFlag == 0 :  #excluding flagged opposite wedge as a receiver\n",
    "                    targetWedgePop[nWW] += sumWedgePopGapChange/float(nReceivingWedges)\n",
    "\n",
    "        # *** NEW 1/19/22 CODE TO ADJUST WEDGE ANGLES WHEN A BOUNDARY ENCOUNTERED\n",
    "        if (nActiveWedges == nWedges or nActiveWedges < nWedges - 2\n",
    "           or didWeRestart[t] == 1) :  #0 or 3+ over-boundary short wedges, or we've already adjusted wedge angles once\n",
    "            HDpop = np.sum(wedgePop) #Keep going with normal wedge growth and trim process\n",
    "        else :  # 1 OR 2 SHORTED WEDGES.  MAY WANT TO ALTER WEDGE ANGLES\n",
    "            didWeRestart[t] = 1  #to ensure we adjust wedge angles and target wedgePops at most once per tract\n",
    "            if (nActiveWedges == nWedges - 2) :  #exactly two wedges got shorted in this loop -- are they opposing?\n",
    "                oppW = int( (shortedWedge + nWedges/2) % nWedges)  #the index of wedge opposite the last shorted wedge\n",
    "                if (isOverEdge[oppW] == 0) :\n",
    "                    print(\"we have 2 non-opposing shorted wedges for tract no\",t)\n",
    "                    totalLiveAngle = 2.*pi - np.sum(isOverEdge)*avgWedgeAngle  #avail angle to divvy among live wedges  \n",
    "                    for nW in range (nWedges) : #Decrease wedge angles opposite shorted wedges via a complex weighting\n",
    "                        if isOverEdge[nW] == 0 :\n",
    "                            oppW = int( (nW + nWedges/2) % nWedges) \n",
    "                            angleWeight = (np.sum(wedgePopGap)-wedgePopGap[oppW])/np.sum(wedgePopGap)/(nActiveWedges-1)\n",
    "                            wedgeAngle[nW] = angleWeight * totalLiveAngle  \n",
    "                else : #shorted wedges ARE opposing\n",
    "                    print(\"we have 2 OPPOSING shorted wedges for tract no\",t) # no wedge-angle adjustment in this case\n",
    "                    #wedgeAngle=[avgWedgeAngle]*nWedges  #comment this out, no change\n",
    "            else: # a single shorted wedge (over boundary).  COMPLETELY RESTART wedge growth process\n",
    "                shortW = shortedWedge #Next dozen lines: convoluted code to find angle to closest boundary point\n",
    "                #print(\"1 wedge over map boundary for tract\",t,\"at loop, wedgePop\",tractLoopCounter[t],wedgePop[shortW] )\n",
    "                shortedPoly = Polygon([tractCP, pt2[shortW],pt3[shortW] ])\n",
    "                MAPedge = shortedPoly.intersection(MAP.exterior) #true state boundary line where wedge crossed it\n",
    "                minDistance = max(tractCP.distance(MAPedge),tinyR)  #closest distance to edge where wedge hit the boundary\n",
    "                edgeCircle = tractCP.buffer(1.01*minDistance)  #build a circle a little bigger than this distance\n",
    "                #  1.001 is not big enough; will occasionally not intersect\n",
    "                closeArea = edgeCircle.intersection(MAPedge)\n",
    "                counter = 0.\n",
    "                maxCounter = 10. #give up after 10 tries\n",
    "                while closeArea.is_empty :  # protect against missing the map boundary somehow\n",
    "                    print(\"need to widen edge circle beyond\",minDistance, \"for tract (x,y)=(\",tractCP.x,tractCP.y)\n",
    "                    minDistance = minDistance * 1.1\n",
    "                    edgeCircle = tractCP.buffer(minDistance)  #widen the circle\n",
    "                    closeArea = edgeCircle.intersection(MAPedge)\n",
    "                    counter += 1\n",
    "                    if counter >= maxCounter: #not finding map edge intersection.  Try another way\n",
    "                        print(\"did not find boundary with circle approach.  Brute-force it.\")\n",
    "                        minDistance = tractCP.distance(MAP.exterior)\n",
    "                        edgeCircle = tractCP.buffer(1.01*minDistance)\n",
    "                        closeArea = edgeCircle.intersection(MAP.exterior)                        \n",
    "            \n",
    "                closePoint = closeArea.centroid  # this is a point very close to the closest beeline from tract to map edge\n",
    "                #print(closePoint,tractCP, \"are boundary point and tract center point\")\n",
    "                x1 = closePoint.x\n",
    "                x2 = tractCP.x  #debugging\n",
    "                dx = closePoint.x - tractCP.x\n",
    "                dy = closePoint.y - tractCP.y\n",
    "                exitAngle = pi/2. * np.sign(dy)  #default in case dx=0\n",
    "                if (dx != 0 ):\n",
    "                    exitAngle = math.atan(dy/dx)  #this is the angle from the x-axis to the exit beeline\n",
    "                    if dx < 0 :  #use complementary atan solution; boundary is west of tract centroid\n",
    "                        exitAngle = pi + exitAngle\n",
    "                angle0[t] = exitAngle # this reorients 0th wedge to face boundary's closest point               \n",
    "                # New 1/23/22 - let's estimate wedgePopGap at ideal orientation, normal angle   # ****************\n",
    "                wedgeAngle1 = exitAngle - 0.5*avgWedgeAngle\n",
    "                wedgeAngle2 = exitAngle + 0.5*avgWedgeAngle\n",
    "                maxR = max(stateWidth,stateHeight) #ensuring we make a big enough wedge\n",
    "                wedgePt1 = tractCP\n",
    "                wedgePt2 = Point(tractCP.x+maxR*math.cos(wedgeAngle1),  tractCP.y+maxR*math.sin(wedgeAngle1) )\n",
    "                wedgePt3 = Point(tractCP.x+maxR*math.cos(wedgeAngle2), tractCP.y+maxR*math.sin(wedgeAngle2) )\n",
    "                wedgePoly = Polygon([ wedgePt1, wedgePt2, wedgePt3 ])\n",
    "                minWedgePop[t] = 0. #the wedgePop of the shorted wedge if we re-orient but don't adjust angles\n",
    "                usedTract = [0]*nTracts  #rezero lists of tracts and precincts that could straddle multiple grids\n",
    "                for nG in range(nGrids) :  # loop over ACTIVE grids to look for intersecting tracts\n",
    "                    gridIntersxn = gridGeom[nG].intersection(wedgePoly)\n",
    "                    if (gridIntersxn.area > 0) :  #this grid is RELEVANT to this wedge\n",
    "                        for tt in range(nGridTracts[nG]) : #look for intersxns with all tracts in this grid\n",
    "                            nTT = gridTractNo[nG][tt] #shorthand for this tract's global tract no\n",
    "                            if(usedTract[nTT] == 0) :  #Did we not already look at this tract in another grid list?\n",
    "                                usedTract[nTT] = 1  #well, now we have!  Probe intersection with wedge\n",
    "                                overlap = tractGeom[nTT].intersection(wedgePoly).area\n",
    "                                if overlap > 0 :\n",
    "                                    fracArea = overlap/tractArea[nTT]\n",
    "                                    minWedgePop[t]  += fracArea*tractPop[nTT]  #always positive (used in density calc)\n",
    "                #print(\"the minimum shorted Wedge Pop for tract {0} is {1}\".format(t,minWedgePop[t]) )  #debug\n",
    "                #printAngle[t] = round(exitAngle*180./pi,4) #for debugging\n",
    "                printDist = round(minDistance,4)\n",
    "                #print(t,\"(\",tractCP.x,tractCP.y,\")\",printAngle,printDist,\"t,tract(x,y),exitAngle,dist\")\n",
    "                # ********************************************************************\n",
    "                # assign new wedge angles.  The two wide angles face toward and away from nearest boundary\n",
    "                #ratio = wedgePopGap[shortW]/ (avgDistrictPop/nWedges)  #0-1; this is degree of shortness\n",
    "                ratio = 1. - minWedgePop[t]/ (avgDistrictPop/nWedges)  # *** UPDATED\n",
    "                # printWedgePopGap[t] = wedgePopGap[shortW]\n",
    "                wideAngle = (1. + coeff1 * ratio + coeff2 * ratio*ratio)*avgWedgeAngle #HERE, WE ADJUST ANGLES\n",
    "                wideAngle = min(wideAngle, maxWideAngle*pi) #set an upper limit\n",
    "                thinAngle = (2.*pi - 2.*wideAngle)/(nWedges - 2.)  #other wedges equally angle-compressed\n",
    "                #if (t % 9 == 0):  #occasional print\n",
    "                    #print(\"tract,wide, thin angles are \",t,round(180/pi*wideAngle,4),round(180/pi*thinAngle,4) )\n",
    "                for nW in range(nWedges) :\n",
    "                    if (nW == 0 or nW == int(nWedges/2) ) : #assign these two as shorted wedge and its opposite\n",
    "                        wedgeAngle[nW] = wideAngle\n",
    "                    else :\n",
    "                        wedgeAngle[nW] = thinAngle\n",
    "                #** COMPLETELY RESTART WEDGE GROWTH PROCESS FROM INITIAL PIZZA SLICES, NOW RE-ORIENTED\n",
    "                loopTractUse = [0.] * nTracts  # reset as we are starting over\n",
    "                loopPrecinctUse = [0.]* nPrecincts\n",
    "                HDpop = 0.\n",
    "                nActiveWedges = nWedges\n",
    "                targetWedgePop = [avgDistrictPop/nWedges] * nWedges\n",
    "                oldR = [0.]*nWedges   #for remembering last loop's wedge radius  \n",
    "                currentR = [tinyR]*nWedges                \n",
    "                old_dr = [tinyR]*nWedges  #this will track the last radial step (to help convergence)\n",
    "                max_dr = [globalMax_dr]*nWedges  #reset max step size\n",
    "                wedgePop = [0.]*nWedges\n",
    "                oldWedgePop = [0.]*nWedges #wedge pop from previous round\n",
    "                wedgePopGap = [0.]*nWedges\n",
    "                isOverEdge = [0] *nWedges\n",
    "                isSatisfied = [0] *nWedges\n",
    "                yoyoCount = [0] *nWedges #just in case we missed this earlier\n",
    "                wedgeMaxR = [0.] * nWedges #resetting\n",
    "                angle[0] = angle0[t] - 0.5*wideAngle  #the 0th wedge always faces the boundary\n",
    "                angle2[0] = angle[0] + wedgeAngle[0]\n",
    "                for nW in range(nWedges) :\n",
    "                    if (nW == 0):\n",
    "                        angle[nW] = angle0[t] - 0.5*wideAngle  #we have to start somewhere :-)\n",
    "                    else :\n",
    "                        angle[nW] = angle2[nW-1]\n",
    "                    angle2[nW] = angle[nW]+wedgeAngle[nW]      \n",
    "                    pt1[nW] = tractCP\n",
    "                    pt2[nW] = Point(tractCP.x+tinyR*math.cos(angle[nW]),  tractCP.y+tinyR*math.sin(angle[nW]) )\n",
    "                    pt3[nW] = Point(tractCP.x+tinyR*math.cos(angle2[nW]), tractCP.y+tinyR*math.sin(angle2[nW]) )\n",
    "                    wedgePoly = Polygon([pt1[nW], pt2[nW], pt3[nW] ])\n",
    "                    wedgePop[nW] = tractPop[t]* wedgePoly.area/max(tractArea[t],minTractArea)\n",
    "                HDpop = np.sum(wedgePop)   #** END OF RESTART BLOCK.  RE-ENTER MAIN LOOP FOR THIS TRACT\n",
    "                      \n",
    "        # **** BELOW IS TO CORRECT FOR NONCONVERGENCE *****\n",
    "        if (tractLoopCounter[t] > nLoopPrint):  #may be becoming unstable. Alert user,    #and (don't) reduce gain\n",
    "            strPop = str(round(HDpop,2))\n",
    "            strWdg = \"Overedge?\"\n",
    "            strSat = \"Satisfied?\"\n",
    "            strYoyo = \"yoyo?\"                \n",
    "            strTWP_dr = \"tWP,dr\"\n",
    "            for nWW in range(nWedges) :\n",
    "                strPop = strPop + \", \"+str(round(wedgePop[nWW],1) )\n",
    "                strWdg = strWdg +str(isOverEdge[nWW])+\", \"\n",
    "                strSat = strSat +str(isSatisfied[nWW])\n",
    "                strYoyo = strYoyo + str(yoyoCount[nWW])\n",
    "                strTWP_dr = strTWP_dr + \", \"+str(round(targetWedgePop[nWW],1) )+\",\"+str(round(old_dr[nWW],4) )\n",
    "            print(\"loop{0}, tr{1},wedgePops{2}, {3},{4},{5} \".format(tractLoopCounter[t],t,strPop,strWdg,strSat,strYoyo) )\n",
    "            print(\"   targetWP, latest drx4 are\",strTWP_dr)\n",
    "\n",
    "        if (tractLoopCounter[t] > nLoopSuperPrint) :\n",
    "            for nWW in range(nWedges):                \n",
    "                print(\"wedge no, currentR,oldWedgePop, wedgePop, overEdge?\",nWW,str(round(currentR[nWW],5)), \n",
    "                      str(round(oldWedgePop[nWW],4)), str(round(wedgePop[nWW],4)),isOverEdge[nWW])   #debug\n",
    "                x, y = printPoly[nWW].exterior.xy     #wedge debugging .....\n",
    "                plt.plot(x, y, c=(0.1, 0.2, 0.02+float(nWW)/nWedges) )\n",
    "            plt.show()\n",
    "        if(tractLoopCounter[t] >= nGiveUp):\n",
    "            print(\"I looped {0} times on tract {1}, giving up w pop {2}\".format(nGiveUp,t,HDpop) )\n",
    "            wrongPop[t] = HDpop  #this will flag this HD as triaged\n",
    "            HDpop = avgDistrictPop  #white lie to kick out of loop\n",
    "        # *** END OF TRIAGE FOR NONCONVERGENCE\n",
    "        \n",
    "    # END OF WHILE LOOP --> we are within tolerance of avgDistrictPop. Finalize this tract's Home District stats\n",
    "    for nTT in range (nTracts) :\n",
    "        tractUse[nTT] += loopTractUse[nTT]\n",
    "    totGOP = 0.\n",
    "    totVote = 0.\n",
    "    totVAP = 0.\n",
    "    totHisp = 0.\n",
    "    totBlack = 0.  #zero these out prior to summing over final wedges\n",
    "    usedTract = [0]*nTracts  #rezero lists of tracts and precincts that could straddle multiple grids\n",
    "    usedPrecinct = [0]*nPrecincts\n",
    "\n",
    "    if (tractPop[t] < minTractPop or tractArea[t] == 0 or isSkippedTract[t] == 1): \n",
    "        #we bypassed the big loop; this tract is inconsequential\n",
    "        HDvPop[t] = HDpop  #a white lie\n",
    "        HDweight[t] = 0.000001  #to suppress this in total stats\n",
    "    else :\n",
    "        HDvPop[t] = np.sum(wedgePop)\n",
    "        # HDvHisp[t] = np.sum(wedgeHisp)/np.sum(wedgePop)  #3/2/22 - move to final wedge calcs\n",
    "        # HDvBlack[t] = np.sum(wedgeBlack)/np.sum(wedgePop)  #3/2/22 - move to final wedge calcs\n",
    "        HDweight[t] = tractPop[t]/np.sum(tractPop)\n",
    "        nearEdge[t] = nWedges - nActiveWedges  #flagging the number of wedges that were not completely pop-filled\n",
    "        centerPt = tractCP\n",
    "        outerPt2 = Point(tractCP.x+currentR[0]*math.cos(angle[0]), tractCP.y+currentR[0]*math.sin(angle[0]) )\n",
    "        outerPt3 = Point(tractCP.x+currentR[0]*math.cos(angle2[0]),tractCP.y+currentR[0]*math.sin(angle2[0]) )\n",
    "        HDpolly = Polygon([centerPt,outerPt2,outerPt3])   #initiate a polygon that will be the home district\n",
    "        for nW in range(nWedges):\n",
    "            HDradius[t][nW] = currentR[nW]\n",
    "            HDangle[t][nW] = angle[nW]\n",
    "            \n",
    "        for nW in range(1,nWedges):  #save final geometry, compute minority and partisan stats\n",
    "            cR = currentR[nW] #shorthand\n",
    "            outerPt2 = Point(tractCP.x+cR*math.cos(angle[nW]), tractCP.y+cR*math.sin(angle[nW]) )\n",
    "            outerPt3 = Point(tractCP.x+cR*math.cos(angle2[nW]),tractCP.y+cR*math.sin(angle2[nW]) )\n",
    "            HDpolly =  HDpolly.union( Polygon([centerPt,outerPt2,outerPt3]) )  #add this wedge to HD district polygon\n",
    "        HDpolly = HDpolly.intersection(MAP)  #exclude map's convex hull and buffer, just the original union of precincts\n",
    "        HDarea[t] = HDpolly.area  #for stats, final Home District area\n",
    "        for nG in range(nGrids) :  # ID the ACTIVE grids to look for intersecting precincts\n",
    "            gridIntersxn = gridGeom[nG].intersection(HDpolly)\n",
    "            if (gridIntersxn.area > 0) :  #this grid is RELEVANT to the final Home District\n",
    "                for tt in range(nGridTracts[nG]):\n",
    "                    nTT = gridTractNo[nG][tt]\n",
    "                    if usedTract[nTT] == 0: #only examine tracts that have not already been called for intersection\n",
    "                        usedTract[nTT] == 1  #this tract has now been called \n",
    "                        overlap = tractGeom[nTT].intersection(HDpolly).area\n",
    "                        if overlap > 0 :\n",
    "                            fracArea = overlap/tractArea[nTT]\n",
    "                            totVAP += fracArea*tractVAP[nTT]\n",
    "                            totHisp += fracArea*tractHisp[nTT]\n",
    "                            totBlack += fracArea*tractBlack[nTT]\n",
    "                        \n",
    "                for pp in range(nGridPrecincts[nG]): #scanning the list of precincts in this active grid\n",
    "                    nPP = gridPrecinctNo[nG][pp]\n",
    "                    if usedPrecinct[nPP] == 0  :\n",
    "                        usedPrecinct[nPP] = 1  #don't double up on precinct intersection\n",
    "                        overlap = vtdGeom[nPP].intersection(HDpolly).area\n",
    "                        if overlap > 0 :\n",
    "                            fracArea = overlap/vtdArea[nPP]\n",
    "                            totGOP += fracArea*vtdGOP[nPP]*vtdPop[nPP]\n",
    "                            totVote += fracArea*vtdPop[nPP]\n",
    "                            loopPrecinctUse[nPP] += overlap/vtdArea[nPP] *tractPop[t]/avgDistrictPop\n",
    "        HDvHisp[t] = totHisp/totVAP\n",
    "        HDvBlack[t] = totBlack/totVAP\n",
    "        HDvGOP[t] = totGOP / totVote\n",
    "        for nPP in range (nPrecincts) :\n",
    "            precinctUse[nPP] += loopPrecinctUse[nPP] #add to global use for this precinct\n",
    "            \n",
    "        \n",
    "\n",
    "    # end of loop on this tract\n",
    "for t in range(nTracts):\n",
    "    if(wrongPop[t] > 0):\n",
    "        HDvPop[t] = wrongPop[t]  #undo the lie that got us out of the loop early\n",
    "HDsumWeight = np.sum(HDweight)\n",
    "print(\"Sum of weights over all precinct home districts should have been 1.000, but was \",HDsumWeight)\n",
    "print(\"Average and max number of wedgePop loops per tract were: \",np.average(tractLoopCounter),np.max(tractLoopCounter) )\n",
    "print(\"min,average,max of Home District areas were: \",np.min(HDarea),np.average(HDarea),np.max(HDarea) )\n",
    "stateGOP2 = 0.\n",
    "stateHisp2 = 0.\n",
    "stateBlack2 = 0.\n",
    "for t in range(nTracts):\n",
    "    HDweight[t] = HDweight[t]/HDsumWeight   #renormalizing\n",
    "    stateGOP2 += HDweight[t]*HDvGOP[t]\n",
    "    stateBlack2 += HDweight[t]*HDvBlack[t]\n",
    "    stateHisp2 += HDweight[t]*HDvHisp[t]\n",
    "statePop = np.sum(tractPop)\n",
    "print(\"calculated statewide vote was {0}, should have been {1}\".format(stateGOP2, stateGOP) )\n",
    "print(\"calcd statewide Hispanic pop was {0}, should have been {1}\".format(stateHisp2, np.sum(tractHisp)/stateVAP ) )\n",
    "print(\"calcd statewide Black pop was {0}, should have been {1}\".format(stateBlack2, np.sum(tractBlack)/stateVAP ) )\n",
    "print(\"fraction of HDs that with altered wedge angles near boundaries = \",np.sum(didWeRestart)/nTracts)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "id": "24a347a9-8220-4c1a-bcfc-14923f1f98f7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sum of weights over all precinct home districs should have been 1.000, but was  1.000327175953632\n",
      "Average and max number of wedgePop loops per tract were:  5.657275439177991 40.0\n",
      "min,average,max of Home District areas were:  0.0 0.7049047700215471 4.104812282753314 for  MI\n"
     ]
    }
   ],
   "source": [
    "#use this line to document progress\n",
    "# start MI 4:48pm, end 5:45.  restart (13 districts, not 14) at 7:20, end 8:23\n",
    "print(\"Sum of weights over all precinct home districs should have been 1.000, but was \",HDsumWeight)\n",
    "print(\"Average and max number of wedgePop loops per tract were: \",np.average(tractLoopCounter),np.max(tractLoopCounter) )\n",
    "print(\"min,average,max of Home District areas were: \",np.min(HDarea),np.average(HDarea),np.max(HDarea),\"for \",STATE )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "id": "72247942-899a-4ab2-9796-239aa1e524fb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MI 19MarB\n"
     ]
    }
   ],
   "source": [
    "date = \"19MarB\"\n",
    "print(STATE, date)  #check that I will not overwrite existing file :-)\n",
    "tractCPx = [0.]*nTracts\n",
    "tractCPy = [0.]*nTracts\n",
    "tractNo = [0.]*nTracts\n",
    "for t in range(nTracts):\n",
    "    tractCPx[t]=tractGeom[t].centroid.x\n",
    "    tractCPy[t]=tractGeom[t].centroid.y\n",
    "    tractNo[t]=t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "id": "c55ac5fd-7402-47b9-9093-10b9fe0912b6",
   "metadata": {},
   "outputs": [],
   "source": [
    "#LET'S WRITE AN OUTPUT FILE BEFORE WE FORGET :-)\n",
    "#convert HD wedge geometries to 1D arrays.  BELOW IS FOR 4-WEDGE.  CAN AUGMENT FOR 6-WEDGE\n",
    "HDangle0 = [0.]*nTracts\n",
    "HDradius0 = [0.]*nTracts\n",
    "HDangle1 = [0.]*nTracts\n",
    "HDradius1 = [0.]*nTracts\n",
    "HDangle2 = [0.]*nTracts\n",
    "HDradius2 = [0.]*nTracts\n",
    "HDangle3 = [0.]*nTracts\n",
    "HDradius3 = [0.]*nTracts\n",
    "for t in range(nTracts):\n",
    "    HDangle0[t] = HDangle[t][0]\n",
    "    HDradius0[t] = HDradius[t][0]\n",
    "    HDangle1[t] = HDangle[t][1]\n",
    "    HDradius1[t] = HDradius[t][1]\n",
    "    HDangle2[t] = HDangle[t][2]\n",
    "    HDradius2[t] = HDradius[t][2]\n",
    "    HDangle3[t] = HDangle[t][3]\n",
    "    HDradius3[t] = HDradius[t][3]\n",
    "# now convert output to pandas dataframe and export\n",
    "\n",
    "paramList = [\"STATE\",\"stateGOP\",\"nDistricts\",\"nTracts\",\"nPrecincts\",\"nWedges\",\"popn-toler\",\n",
    "             \"gain\",\"coeff1\",\"coeff2\"]\n",
    "paramValues = [STATE,stateGOP, nDistricts, nTracts,nPrecincts,nWedges, toler, gain, coeff1,coeff2]\n",
    "for i in range(nTracts-len(paramList)):\n",
    "    paramList.append(\".\")\n",
    "    paramValues.append(-99)  #so all columns have same number of entries, even the parameter list\n",
    "df = pd.DataFrame( {\"paramList\": paramList,\"paramValues\":paramValues,\"HD-pop\":HDvPop,\"HDvGOP\":HDvGOP,\"HDvHisp\":HDvHisp,\n",
    "                    \"HDvBlack\":HDvBlack,\"HDwt\":HDweight,\"HDarea\":HDarea, \"HDangle0\":HDangle0, \"HDangle1\":HDangle1,\n",
    "                    \"HDangle2\":HDangle2,\"HDangle3\":HDangle3,\"HDradius0\":HDradius0,\"HDradius1\":HDradius1,\n",
    "                    \"HDradius2\":HDradius2,\"HDradius3\":HDradius3,\"startAngle\":angle0,\"tractNo\":tractNo,\n",
    "                    \"Loops\":tractLoopCounter,\"tractPop\":tractPop,\"tractHisp\":tractHisp,\"tractBlack\":tractBlack,\n",
    "                    \"centroid x\":tractCPx,\"centroid y\":tractCPy, \"tractUse\":tractUse,\"nearEdge\":nearEdge,\n",
    "                    \"wrongPop\":wrongPop,\"Restart?\":didWeRestart} ) \n",
    "\n",
    "outname = STATE+str(nDistricts)+\"HD1tol\"+str(toler)+\"nW\"+str(nWedges)+date+\".csv\"\n",
    "outpath = \"state_HD_output/\"+outname\n",
    "df.to_csv(outpath)\n",
    "precinctNo = [0.]*nPrecincts\n",
    "vtdX = [0.]*nPrecincts\n",
    "vtdY = [0.]*nPrecincts\n",
    "for p in range(nPrecincts):\n",
    "    precinctNo[p]=p\n",
    "    vtdX[p] = vtdGeom[p].centroid.x\n",
    "    vtdY[p] = vtdGeom[p].centroid.y\n",
    "df2 = pd.DataFrame( {\"precinctNo\":precinctNo,\"precinctPop\":vtdPop,\"precUse\":precinctUse, \"vtdX\":vtdX, \"vtdY\":vtdY} )\n",
    "outname2 = STATE+date+\"_VTD_tol\"+str(toler)+\"nW\"+str(nWedges)+\".csv\"\n",
    "outpath = \"state_HD_output/\"+outname2\n",
    "df2.to_csv(outpath)  #currently, I'm outputting the precinct use stats to a separate file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "id": "c4449da0-47a9-40cc-a585-8288447290e6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2650 0.08 ( -83.95989307060574 43.955727130759065 ) 0.6762073851021959 t, pop/target,(x,y), pctR\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "we will redo tract numbers  [2650]\n"
     ]
    }
   ],
   "source": [
    "# Looking for nonconvergers ...  Run even if none observed, just to check  \n",
    "redo = [0]\n",
    "counter = 0.\n",
    "for t in range (nTracts) :\n",
    "    if wrongPop[t] > 0 :\n",
    "        ratio = round(wrongPop[t]/avgDistrictPop,2)\n",
    "        tractX = tractGeom[t].centroid.x\n",
    "        tractY = tractGeom[t].centroid.y        \n",
    "        print(t, ratio,\"(\",tractX,tractY,\")\",HDvGOP[t], \"t, pop/target,(x,y), pctR\")\n",
    "        if (ratio < 0.9 or ratio > 1.1) :  #these we will redo\n",
    "            plt.text(tractGeom[t].centroid.x, tractGeom[t].centroid.y,ratio, fontsize=14)\n",
    "            if counter == 0 :  #first redo\n",
    "                redo = [t]\n",
    "            else :\n",
    "                redo.append(t)\n",
    "            counter+= 1\n",
    "        else: #show these milder offenders on the map in a smaller font            \n",
    "            plt.text(tractGeom[t].centroid.x, tractGeom[t].centroid.y,ratio, fontsize=9)\n",
    "\n",
    "x,y = tractMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"purple\")\n",
    "plt.show()\n",
    "print(\"we will redo tract numbers \",redo)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "id": "be6e965b-4ca8-4af2-8031-63132fbb939d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4659 0.29591411562792785 1526 pop,GOP 0.6585845347313237\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD4CAYAAAANbUbJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAABH80lEQVR4nO3dd3hUVf7H8ffJpPdKIAkhIT2hCaGDVJXeVRRxV0XW7lrW1dVVd3+6tnVd2+6qWFFEBaRKVULvJRDSCYRQQnoC6Zk5vz8mjEQSSEgyN8mc1/PkyZQ7d76ZJJ85c+655wgpJYqiKErHZqV1AYqiKErrU2GvKIpiAVTYK4qiWAAV9oqiKBZAhb2iKIoFsDbnk3l7e8ugoCBzPqWiKEq7d+DAgTwppU9z9mHWsA8KCmL//v3mfEpFUZR2TwiR2dx9qG4cRVEUC6DCXlEUxQKosFcURbEAKuwVRVEsgAp7RVEUC6DCXlEUxQKosFcURbEAZh1nr5hHeWE5BWkF5KfmI6wEITeH4OjtqHVZiqJoSIV9O1VdVk1BujHQ81PzTeGen5pPWV5ZnW2FlaDrkK6ETwknYnIEXhFeCCE0qlxRFC0Icy5eEhsbK9UZtNenIL2ApGVJHN9wnPyUfEpOl9S538XPBa9wLzzDPPEK9zJ9VV2sImVVCqkrU8k+nA2AZ5gn4ZPDiZgSQeDQQKysVW+eorRlQogDUsrYZu1DhX3bJKUk91guiUsTSV6WzPkj5wHw7e2Lby9fU5h7hnniFeaFrbPtNfdZfKqY1NWppK5K5cQvJ9BX6bH3sCdsQhjhk8MJHReKvZt9a/9oiqI0kQr7DkZKydn9Z0lalkTS0iQK0gpAQODQQCJnRBI1Iwr3bu4t8lyVFyrJ2JhBysoU0takUZZXhpW1Fd1GdCNiSgQ97+yp+vkVpY1QYd8BGPQGsnZmkbQ0iaRlSZRklSB0guDRwUTNiCJiagQuXVxavYbTu0+TuiqVlJUp5CXlAXDDfTcQOi6U7mO7Y++uWvyKohUV9u2UvlrPyc0nSVqWRPLyZErPl6Kz0xFyc4gx4KdE4ODpoFl9ST8mkbAogeMbj1NZXInQCboO7kro+FBCx4XSuU9nhJU6wKso5mLWsBdC6ID9wBkp5SQhRB/gf4A9UAM8JKXce7V9WHLYV5dXk7Exg6SlSaSsTKGiqAIbJxvCJ4YTOSOSsAlh2LnYaV1mHfpqPWf2nCF9XTrpa9M5d/AcAE6+ToTeEkrwmGCib43GxsFG40oVpWMzd9g/CcQCrrVhvwF4R0q5VggxAXhGSjnyavuwtLCvvFBJ2k9pJC9LJnVNKtWl1di72xMxJYKomVF0v6l7uwrKi+cvcnzDcdLXppPwbYLp9rCJYYSODyVsfBge3T00rFBROqaWCPtGjbMXQgQAE4FXgSdrb5aAa+1lN+BscwppL6rLq1nzwBqEtcDa3pq+9/XFt7cvVjrj8MXywnJSVqaQvCyZ9PXp6Cv1OHVyotddvYiaEUXQqCB0NjqNf4rr4+zrTO+5vek9tzfTF04nfV06x9cfJ+2nNNLWpLGWtXhFeNEpphOR0yPpcUcP0+uiKIq2GtWyF0IsAV4DXICna1v2UcB6QGCcdmGIlPKK1VSEEPOB+QCBgYH9MjObveCKZqSULJ29lGM/HMPa3pqa8hoAbJxs8Iv1Q2ej42TcSQw1Bly7uhI1I4qomVF0HdK1w4deflo+aT+lkb7W+AYA4OjjSPjkcCKnRdJ9bPv6FKMobYlZunGEEJOACVLKh4QQI/k17N8DtkgplwohbgPmSynHXm1f7b0bJ+5vcWx5eQtj3xjLkD8NIedoDuePnufMnjOc2XOGqtIqwieHEzUjCr9YP4s9S7W8sJyUFSkc33CctDVpVJZUYuNoQ8gtIUROiyRsYhiOXmpYp6I0lrnC/jVgLsaDsPYYu26WAZMBdymlFMZUK5ZSuja8p/Yd9gnfJbB09lJ6/643Uz+farFB3lT6Kj0nt5wkeXkyKStSuHDmAkIn6Da8GxHTIoicFtli5w4oSkdl9qGXv2nZJwEPSinjhBBjgDellP2u9vj2GvZn9p7hixFf4Bfrx9xNc7G2U1MKXQ8pJecOnDMFf05CDgCdb+hM5LRIIqdF0qlnJ/VGqii/oXXYDwPexXiQtwLj0MsDV3t8ewz7ktMlfNL/E6ztrZm3dx5OPk5al9RhFKQXkLwimZTlKZzacQokuAe7m4K/69COf6xDURpDnVTVyqpKq/h8+OcUpBdw38776NSjk9YldVgXz18kdVUqycuTydiUgb5Sj6P3ZQd429kwVUVpSSrsW5E0SH649QeSlydzx6o7CJsQpnVJFqPyQiXH1x8neXkyqatTqSw2HuANHRdKxLQIwieGa3qGsaKYm9nG2VuizS9uJmlZEjf/62YV9GZm52JH9KxoomdFo6/Sk7k1k6Qfk0hZkULSsiSEThA0Ish4gHdqJG6BblqXrChtnmrZ1+PIN0f48a4fuWHeDUz+eLI6YNhGSIPk7IGzxgO8y1PITcwFoEvfLqaRPZ16qAO8SsejunFaQdauLL4c9SUBgwKYu2EuOtv2ebarJchPzTcd4M3alQUSPEI8TAd4AwYHqAO8Soegwr6FFWUWsWDAAmxdbJm3Z5468acduZh9kZRVKaQsTzEe4K3S4+jjSMSUCOPJXFMj1Ru30m6psG9BlRcq+WzoZxSfKmbe7nl4R3prXZJynSpLKklfl07y8mTTGbwAsQ/GEj0rmm43dlNLMSrtigr7FmLQG/h+xvekrkllzk9zCLk5ROuSlBair9Kz/fXt7HhzB0jjQu2O3o6mg7tBo4Kwdbr2ko6KoiUV9i1k4583svPNnYx/fzwDHhmgdTlKK6kuqyZ9XbpxTYFVKVRdqEJnq6PbiG6mKZq9IrzUAV6lzVFh3wIOf3GYFfesIPbBWCZ8OEH9o1uImsoaTm07Rdpa40ydl5ZidA9yN63IFTw6uFELuStKa1Nh30yntp/iy9Ff0u3GbsxZO6fdzjOvNF9RZpFpRa6MTRlUl1ajs9XR+YbODHl6CGETw9QZvIpmVNg3Q+GJQhYMWICDpwP37b4PBw91RqZipK/Sc2r7KQ59esh4Bm/tFM1hE8KImhlF2MS2t4Sk0rGpM2ivU2VJJd9O/haD3sAdq+9QQa/UobPVETw6mODRweir9WRuySRxaSLJPyaTuCQRgOEvDCdyWiRd+nZRXX9Ku2BxLXuD3sDiKYs5vuE4d62/i+DRwZrWo7QfBr2B+C/jObLwCJlbM5GGX/935m6cS9DIIDWkU2kVqhvnOqx/cj2739nNxP9NJPYPzXrtFAtWlldG6upUVtyzwnSbo48jkdMjibk1RgW/0qJU2DfRwU8PsmreKgY8NoDx747XrA6lY8lPy+fMnjOkrk4ldXUq1aXVOHg5/Br87XiReaVtUGHfBNnx2SwYuMA48uanOarVpbSK6nLjWP7EHxJJXZVK1cUqHDwdiJgWQcytMQSPCVbBrzSZCvtGqrpYxcexH1NZUskD8Q+o1aYUs6gur+b4+uMkLkkkZaXxJC6AqJlR9L2/L8GjVfArjaPCvhGklCy5fQlJS5OYu2kuwaPUAVnF/GoqakhYnMCKe1ags9Ohr9Rj725PxNQIomdF0/2m7mptY6VBauhlI2x7dRuJPyRy01s3qaBXNGNtb02f3/ehz+/7UFNRw/GNx0lakkTy8mTiv4zH1sWWiMkRRM2KInRcqDqBS2lxHbpln7wime+mfUevu3ox7atpajy00uboq/Sc+OUEiUsSSV6eTHl+OTZOxhO4omdFEzYhTE3ZoKhunKvJScjh08Gf4h3lze+3/F61lJQ2z1Bj4OSWk8bgX5ZMaU4p1vbWhI4LJWpWFOGTwrF3s9e6TEUDZg17IYQO2A+ckVJOEkJ8B0TU3u0OFEkp+1xtH+YK+7L8MhYMWEB1eTX377sfV3/XVn9ORWlJBr2BrB1ZJC5JJGlpEhfOXkBnqyPk5hCiZkYRMSVCLbpuQczdZ/84kAS4Akgpb7+skLeB4uYU0lIMNQaW3L6EktMl/H7L71XQK+2Slc6Kbjd2o9uN3Rj373Gc3n2axKWJJC1JInV1KlbWVnQf252Y2TFETotULX7lmhrVshdCBABfAq8CT0opJ112nwBOAaOllGlX2485WvZrH1/L3vf2MvWLqfT5XZ9WfS5FMTcpJWf3nyVxSSKJ3ydSdLIInZ2OsAlhxNweQ/jEcNXH3wGZs2X/b+AZwKWe+4YD5xsKeiHEfGA+QGBg4HWU2HiHPjvE3vf2MuiJQSrolQ5JCIF/f3/8+/sz9vWxnNl7hoRvEzj2/TGSf0w29vGPDyV6VjThk8Kxc1WzcypG12zZCyEmAROklA8JIUYCT/+mZf9fIF1K+fa1nqw1W/ZZO7P4YuQXBI0MUmfIKhbHoDeQtTOLxB9+08d/SwjRt0YTMTkCe3fV1dNemeUArRDiNWAuUAPYY+yzXyalvEsIYQ2cAfpJKU9f68laK+yLs4r5pP8n2LnYMW/vPDVlsWLRpEEa+/iXJJK4JJGSrBKsbKwIuSmEqFlRRE2PUsHfzph96OVvW/ZCiHHAc1LKEY15fGuEfXV5NZ8P/5z81Hzm7ZmHT5RPi+5fUdozaZCc2XfGOKpnSRJFJ4vw6O7BQ4kPqTN225GWCPvm9nXMBr5t5j6um5SSlfet5NzBc8z4ZoYKekX5DWElCBgYwM1v3cxjGY8x67tZFGYUEv9lvNalKWbWpLCXUsZd3l8vpfy9lPJ/LV9W4+x8aycJ3yYw+tXRREyOuPYDFMWCCSGIvjUav/5+7HhjB4Yag9YlKWbUbo9ipv2UxqZnNxFzewzDnh2mdTmK0i4IIRj+/HAKMwpJWJygdTmKGbXLsM9LzmPpHUvp3KczUz+bqua8UZQmiJgcQacendj+2vY6SysqHVu7C/uKogoWT12Mzk7H7OWzsXFUc94oSlMIK8GwvwwjNzGX5OXJWpejmEm7CnuD3sDSO5ZSmFHIbUtvwy3QTeuSFKVdirktBs9QT7a9ug1zToaoaKddhf3Pz/1M+rp0xn8wnm7Du2ldjqK0W1Y6K4Y+O5RzB8+R/KNq3VuCdhP2R745ws63dhL7YCyxf2jWcFNFUYDec3vjHenND7f+wMZnNlJTUaN1SUorahdhnx2fzap5q0wzAOqr9FqXpCjtns5Wx3277+OG+25g51s7+eiGjzi9+5onwivtVLs4he78kfPUVNQgrASv2L0CQNjEMMa+MRafaB81GkdRrpO9mz2TP55M9KxoVs5byWdDP2PQk4MY9fdR17XgT3Z8Noc+PUTVhSqCRgVRUVxB5LRI3Lqq42taaxcrVUkpWTZnGQnf1j8u2DXAlXu23YN7kHszK1QUy1VZUsnGZzZy4KMDeIV7MfXzqXQd0rXONhfPX+TooqMUnyomLzEPna0Or0gv/Af4U3q+lE3PbgJpXFfi0idw70hv/nD4D2p6hmawuGUJpZQIITiz9wypa1LZ+vetpvtsnW2Zs24OgUNbdxplRenoMjZlsHLeSopPFTPw8YFETI7AwcuBstwyfrjtByoKK7B1tsUt0A0rGyvykvJMwe7X34/ZK4xDokuyStj19i4Of3GYp849hXNnZ41/svbL4sK+IeePnOd/vY2zNtyz7R4Ch6nAV5TmqLxQyaY/b2L/f+v+v3qEeDB7xWw6xXQy3VZdVk1+aj7W9tZ4hnlipTMeCizLL+Pd4HcJuTmE25bcZtb6OxoV9pc5vuE4X9/yNQAvVL2AzkbXKs+jKJakMKOQ4lPFlOWXUXWhirCJYTj5ODXqsTvf3snGpzfyYMKDdd4clKYz9xq0bVrIzSH49vblfPx53gl4h6eyn1IHbhWlmTy6e+DR3eO6Hntpznz1f9g2tIuhl431wOEHCBgUQGlOKf/r9T+OfX+M7PhsqsuqtS5NUSxOyE0hWNtb89PDP6GvVsOltdZhWvaXjHt3HAsGLiAnIYclty8x3e4W6IZXhBdeEV54R3jjHemNV4QXrv6uCCvV8lCUluYW6Ib/QH9Oxp0kcUkiPe/oqXVJFq3Dhb3/AH9eki9RXV5NQVoBeSl55Kfkk5ds/B7/ZTxVF6pM29s42uAV7lXnjeDSd1tnWw1/EkVp/8ImhJG5JROfaLWwkNY6XNhfYuNgg28vX3x7+da5XUrJxeyLxjeAy94Izu47S+IPiXWmfHXxdzGF/+VvBG6BbqYRB4qiNKzbjcY5rFbet5L5++drXI1l67Bh3xAhBC5dXHDp4kLQyKA699VU1lCQXnDFG0HCtwlUFFWYttPZ6fAK97ryjSDcSy3krCiX8evvh0eIB+cOnKMgvQDPUE+tS7JYHWboZWuSUlKWW/brG0Dt9/yUfAqOFyD1v76GTp2c6u0Scg92V8NBFYtUfKqYDyI/wNrOmtiHYol9IFZNn9BEapx9G6Cv0lOYUUh+at03gbyUPMpyy0zbWVlb4dHdA/+B/oSODyXk5hAcvRw1rFxRzOf07tNsf307qatSEVaC+/fdT+c+netsI6Wk6kIVdq52dW7XV+kpyizCxsEGF38XixzKqcK+jSsvLK/bJZSUR+bWTMoLyhFWgq5DuhI5I5LomdFqIRbFImT8nMHCsQsJGBTAjG9mmMbw5yXnsfaxtWRszMDJ18n4RiAhPy2f4sxi07E0GyfjgIqQW0IY/pfh2LnYXe3pOgyzhr0QQgfsB85IKSfV3vYo8AhQA6yRUj5ztX1YWtjXx6A3cHbfWdLWppGyIoXz8ecB8B/oT/St0UTPjFYTuikdlkFvYPc7u9n6f1vp3Kcz/R/uz+ndp9n7/l5snGyIfTCW0uxSsg9nY2VjhWeoJ56hnniEeFBdWk1eSh55iXlkbMrAxd+Fcf8eR9TMqA7f2jd32D8JxAKuUspJQohRwPPARCllpRCik5Qy52r7UGF/pYL0AhKXJJL4QyLnDp4DjAe1omZGcT7+PJUllQx4ZADW9tb49ffD1sk4HFRKiaHGgM5GR3V5NRVFFbh0cdHyR1GURtv3n3389PBPput97u3D2NfG4tSpcVMxnN59mjUPriH7cDah40IZ/8F4PEM67sFfs4W9ECIA+BJ4FXiyNuy/Bz6WUm5q7JOpsL+6guOXBf+Bc/Vu4xHiwZQFU9j84mZObTuFg5cDlcWVGGoMhI4PJXhMMN3HdMc7ypuCtAK8wr3Q2aoDw0rbIqXk7P6z2DjY4NzZGUfvph+/MtQY2PvhXjb/dTP6Kj1jXx/LoD8OaoVqtWfOsF8CvAa4AE/Xhv1hYAUwDqiovX1fPY+dD8wHCAwM7JeZmdmcei1Gfmo+WTuzyEvOw7e3L2f2niE/OZ/0demmbRx9HAkeFYxHqAeZcZlk7cy6Yj92rnZ06duFoX8eitAJijOLibk9hpqKGhy9HNXZw42Ql5zHxeyLeEd5Y6g2kJ+az4WzF3DwdMCtmxteYXXfUE/vOc25g+cInxRu8aNOKooq2Pn2TgIGBuDc2Rnf3r7obHTUVNZw/sh59JV63IPccfFzue6/xfiv4ln+u+V4RXjxcNLDHbJLxyxhL4SYBEyQUj4khBjJr2GfAPwCPA70B74Dusur7FC17JtHSsmx745RXV4NEnr/rrfp5C6D3kDRiSIMNQbiv4qnqrQKna2Oo98c5eK5i/Xuzz3IHZ8YH6JnRRMxJQIHTwdz/jht2pl9Z9jw1AZyEnKoKKy46rY6Ox1dbuhCt5HdKDlVwtFFRwGw97DnzwV/Nke5bVb8wniW373cdN3K2goXPxdKc0qvWPO23wP9cOnigs5Wx8XzF7G2s8bew57SnFKqy6oJHBqIb29fOsV0Mr0xHPjkAGseXINPtA93rr6zww50MFfYvwbMxXgQ1h5wBZYB3sDrUsq42u2OA4OklLkN7UuFvflJg+TcwXNUlRqniChIK+DC2Qsg4Pi646ZPA3ZudjyT9wxW1urM4BX3ruDw54cB6Dq0K0GjgggYGEDhiUKEEPhE++Di70J5QTlFJ4o4d/AcZ/acIWtXVp1zLnre2ZMZ38zQ6KdoG/Z+sJe1j67l9uW3o6/Uk304m5KsEhy8HQgcGoi+Ss/hzw9TWVJJflp+vW+s1g7W6Gx0VJZUAsbZNH17+2KoNpC1M4vQcaHM+m7WFUM2OxKzD738Tcv+AcBPSvmiECIc+BkIVC379qW8oJw3vd4EIHxyOLNXzO6QH4MbqyyvjLd83qJLvy5M/2p6k+Z0KcsrI3l5MtIgiXs5jtBbQpn6+dRWqXPzi5uNC4bYWaOz12HvZm+cjjjEOCWxk48Tts62mnfTbfvHNn55/heer3i+UcsSGvQGDNXGJQ2tbKyQeomNkw1SL8mOzyY3MZdT20+Rm5CL0AkChwcy6m+jOnwjRev57D8DPqvtzqkCfne1oFfapovZF/EI8aDweCH5Kflal9OgpB+TqCyupNddva76j12WX2b6tHJpSoum2PzSZsDYKm/q5F2O3o70ndfXuJ8XN7fqBOLHvjtGfmo+Lv4uGGoMVBRWmJYGNBHGBcVd/F3wCPbALcgNj2AP3IPccQ92xyPYo9Wn96gorkBnq2v0+rNWOiusdFZY29fdXlgL/Pr54dfPj95ze7dGqR1ek8K+tssmrvZyFXBXy5ekmNP3M7+n8HghwWOCufX7W8lJyCE3MRdrO2sipka0iVZ+ysoUvp/xPQAlZ0q48fkbG9x24diFZB/OBsAn2oeHjj10zf1XXqgk91guzl2c2f+f/bh1cyP2getvRNVU1FB6vpSa8pprb3wdKooqCB4TTH5qPtMXTid4VDDSICk5U0JhRiFFJ4ooLyinoqiC8sJyLpy+QOGJQjK3Zpq6Qi5x8nXi0bRHW+3kpMqSSuzcOm73SnticROhKXXd+Ncb+enhnzjx8wlTd84lnXp2YuTLIxE6gWuAK136dtEk/M/uPwsY5x3K2n7liCOA3KRcNr+w2RT0AKNfHX3NfZ8/cp4vR31JeUG56Ta/WD9sHG2uu16hM75G9h7NazVXllSScyyH3GO5pu+5x3KNx1xq2TgY6xRWAhc/F/Z9uI/k5cnYu9nT+YbOuHVzw72bO0Gjg/AM8aT4VDFCJ0j+MZn0temUnjce/GzJsL90nCh9fTrpP6V36L709kSFvYXreWdPIqZGkLEpg9zEXHS2Olz8XFh25zJyjubw/czvTdt2v6k7s76bhYOHeUft5Kcau5dsnGxMJ55dTl+l57vp39Xphhr+wnAip0XWu7+aihq+nfItJ+NOYqg2ABA0KojoWdE4+ToRNj6sWfXqbHQ4+jjWOVjbEH21nlPbT+Hb0xdHb0cMegMfRn1IQVpBne2sHazxifIheEwwPjE+dIrphG9v3zpDOyuLK9nz7h7TKJcze89c8/m7Du2Ks69zE3/Cq9v84ma2vboNgC79ujDg0QEtun/l+qiwV7B1siVyaiSRU38Nxx6ze5B7LJeaihqkQZK0LImdb+3kTc83cQ1w5Q+H/nBdJ8I0VdKPSRz77hg6O52x9Vmbn5UXKjm44CDZh7I5vv44pTmlRE6LJHl5MgAjXx55xb5yE3PZ8cYOqi5WkbExA4DQ8aEMfHwgobeEtmjdzp2duZhd/5BXaZCc2n6Ko4uOcuCjAwAMeWYIN71xE8JKmIJ+9D9G0ymmEz4xPrgHuV9zDQUHTwfmH5jPic0nqCypZNfbuyjPL+fmt28mamYUOQk5OPs6U5hRiI2TDTobHcFjglv05wYoOlGEa4Ar8w/Mb/QZsUrrU2Gv1EsIQacenUzX/Qf402N2Dz664SNKTpfwyYBPeDzj8VZ57qLMIpKWJZG6KpWTm08CMOKlEWQfzCZxSSIf9/uY80fPY6g24Bbohkd3DwY9OYj4L+Nx6uTEg0cfrDcYs3ZmEf9VPAB9ft+HyZ9MbrVRHC5dXMjamcWmZzfRpW8XOt/QmaoLVRz99ijHFh+j5HRJne0vHSOQeomtsy29f9eb4c8Nb/Lz+kT74NbNjePrj5u6ppw7O+PezR33bu6AsZuqNdVU1GDvYa+Cvo1RYa802uUnXUXNjGqV5zi44CCr7l8FQKcenYh9KJZRfx+Fo5cjpTmlZPycwbmD5+h7f1/6zuuL/wB/ADY9t4m8pDzuWH1HgyHT5/d92PX2LkpzS5ny2ZRWPf5ww303UPpaKbv+tcvUVQTGk4pCx4Uy9o2x6Kv0rLhnBbctvQ2PYOPsj5UXKqm6WHVdJwdJg2TdE+vY9+E+pF7i3MWZO9fcecVUwq2tpqKGopNF6Kv0aqqONkSFvdJoboFujHplFJtf2Ez8l/EMfWYoTj4t13pLX5duCvoRL424oivGqZMTT2Q9gb5SX+eN5/Tu0+x8cyc33HcD4RPDG9x/dnw2ecl5jHplVKsfaI65LYaY22Koqawh91gu5w6dQwhBxNQI0zoGnw39DJ2djq5Du5oeV3yqGKDBLqCGVJdXs/K+lSR8m0Cfe/oQNTOKwGGB2LuZf+U0nxgf0n5K49PBnzL96+n4RKn1Z9sCFfZKo104d4GiE0UAlOWWUXWxqkXCXl+t59Cnh9jw9AZ8e/ty+4+3NzjNs62TLVz2lD8//zOHPz+Mi78LN79981WfZ9sr27B3t2fAI+Y7YGhtZ02Xvl3o0rfLFfeVF5Sjr9Sz5W9bsHGyMc195NzFmd6/a9pY8tV/WE3CtwmMeX0Mw/48rKXKvy43vXkTAYMDWD1/NR/3/Zhx746j3/x+mtakqLBXmuBk3EkOfXoIgAGPDjB1PTTXqvtXEf9lPL69fblr3V04d2786JBdb+9CX6nn3h33XrUVe/7IeZKXJzPipRGatHbrc8u/b2HL37aQsDiB6tJq3ALdGPDYAIY9O6zJb6KFGYX4xfppHvSXRE2PouvgriyZvYSfHv6JXnN7mYaJKtpQYa80Wo/ZPchPzWfLy1voPrZ7i+zzzN4zxH8Zj/8Af+7bfV+Tu1eEEAz50xC6Dul61e22vrIVWxdbBj4+sDnlNtn5I+c59sMxyvPLGfDIgDpn5YbeEtpio4C6jejGjtd3UJxV3GZm2nTu7MyQPw3h2y3fsuT2Jfj19yM3wTi819bVFjsXO+xc7XAPcidsQlirn81r6VTYK41WU15DWZ5xXd2y/LJrbH1thRmFLJ66GPcgd+asnXNd/egGvcF0ElND8lPzSVySyLDnhpnlHIGKogounLvAwQUH2fPvPSCMo2xSVqTwRNYTrTJfTb/7+7HzrZ2sfWQtMxbNMC1yo7Ww8WEMf2E4e9/fS+qqVDy6eyAN0ngg+kKVaYoHWxdbYh+IZdAfB+HipxbhaQ0q7JVGyUnI4asxXxnHs0+PpNddvZq9z++mf0d1eTV3/3L39U+vLGHve3s5/Nlh001Ovk6ETw4nanoUXfp14eCCg1jprBj4qHla9Z8O+ZS8pDwA+v2hH2P+MYatr25l7/t7oZWOC7sHuTP29bFseHoD74e9z5Cnh9D9pu64dXXDztVOswnRhJVg9P+NZsRfR1BTUXPF2bQ1lTVkH8pmz3t72PX2Lva8u4eY22MIHBaId5Q31aXV+A/0N/uJfB2RCnulUQ58coDSnFJGvzqa4X/5dfx3TWUNp3efplOPTqZRJo1x8NODnD9yniF/GtKs0Rq3vHMLuYm5XD4HX35KPjve2MH2f2zHtasrlcWVhE8Ob9KxgOa4NOnX6H+MNo2VlwaJtb11i48CqiiqoCyvjLL8MoLHBDNn7Ry2vbKNDU9tMG0TODyQe7be06LP21Q6W129wzCt7awJGBRAwKAARr8ymp3/3MnRRUc5svCIaRu3QDf6zu9L0Mgg/Pv7q+Gc10mFvXJNJWdK2PveXgC69O1CUWYRhmoDGZsyiHs5jtLzpdi52jFj0YyrDn0E4zTAq/+wmqRlSQSNCmLwU4ObVVtDI2vK8stIXZVK8vJkTm0/Zda++tuW3sbiaYvZ+vet9H+wP/bu9saQb8E5YWsqa9j++na2/t/WK6Zl8IrwqnO9qcM4teLR3YOJ/5nIhA8nUHSyiLzkPKrLqtn26jY2v2CcjdTGyebXbh5pHMnl6O3ITW/dRPColj8buCNp0nz2zaXms2+ftr++nZ+f+7ne+7r068KgPw5i+e+WY21vzZ+L/ozOpv6WV01lDYsmLOLklpMMemIQY/4xpsFt27vMrZl8MeILZq+YTcSUCNY/tZ4DHx3gLxf/ct37LDpZREF6ASd+OcHOt3ZiqDEQNSOKiKkROHg5kHM0h6KTRZTnlyOsBF36dcHBy4GgEUF4hrbvxbjL8ss4te0U6evTqSyunblTwonNJ5AGSXl+Obctu63OlB8didbz2SsWYvCTg/GO8ib+i3g69+2Ma4Arwkpg42hD9Kxo4xmbBknQyKCGg76ihv/0+A+Fxwu5+V83M/iJ5rXo2zr/gf5YO1hz4pcTREyJMPaZX0e7SkrJwU8Ocvjzw5zefdp0e9DIIIY/P7zOqKhrfapqzxy9HImcFlnv5HZVpVV83Pdjvpv+HT3v7MmIl0bgFeZVz14smwp75Zp0trorJkq7JO2nNNY+upbwyeHM+Lr+JfhyE3NZNHERRSeLGPHSiA4f9GDsiw4cGsiJX04AxiGi1/Mpev0T69nz7h68o7wZ9X+j8B/oj52rHf4D/NvEWgNtga2TLffuuJcdb+1g3wf7SFicwKT/TTItJKMYqbBXrltpTimLJi4CYPrC6fXOW570YxLL7lyGrYstty+/nYgpEeYuUzNBo4L45flfKC8sBwGGGgPlBeX1jjwqzS3lwpkL+Pb2NYV4WV4Ze9/fyw3zbmDyx5NVuF+Fo7cjN71xE6XnS4n/Mp70dekq7H9Dhb1y3b4Z/w0AY14bc8VZqeWF5Wz5+xb2vr8X//7+3P7j7WYbDdNWeIUbuxKKM4tx9nXGUG3gLZ+38OvvR8gtIQQODaQsr4yTcSeJ/yoefaWe2IdimfDBBIQQ5CXnIQ2SqBlRKugbSV9pHLeftDSJJbOXMOYfY/Do3jJnerd3KuyV61ZeaJxC9/J+VCklu9/ZzcZnNiL1kt5392bcu+M63NmRNZU1rPvjOooyinDr5oZPtA+xD8TWWTvVydc45UFpTimD/jiIgMEBHF9/nOPrj7PtlW1Ig7FbR2enI/SWUFJWprD/P/sZ9uww3Lq6mbp9yvPLryxAqdeE/0wgYXECYFyn1yfGhxF/HaFxVW2DCnvlug17bhhrH13Lh1EfEjUjilt/uJX9H+03jfGet2cefv39OmSr9P3Q901z0jt1cjIdRO33QD8ip0Xi0sXFNCTSytoKYSXoOrgrXQd3ZeTLIykvKOfcoXOUnC5h0zObSFmZAkDsg7Gm6Q68I42Lpeccy9HgJ2yfHDwcmL1iNounLgZotXWA2yM19FJpltKcUhZPW8zpXadx8HIwtUIfTXu03Q/3u5r3Qt9DX6Xnjyf/iLASpKxMYeOfNhqXUBTQdUhXbBxtyNiYwb0776Xr4Prn7tn80ma2/n2r6fqL+hdNZ7tKKfnoho+wcbDhvl33meXn6ihKc0p5P/x9bBxteCT5kXa/Dm5LDL1s9DI9QgidEOKQEGJ17fWXhRBnhBCHa78mNKcQpX1y6uTEvTvuZcaiGURM/vXga9HJIu2KaiVSSs7sO8Pxjcfx6+dHSVYJX47+koL0AiKmRPBw8sM8mPAgI/82ss7Sh1frwhr85K8jk1z8XOpMayCEwMnH6bpG8VgaKSUn406y480dHFxwEDtXO+5adxel542DCPZ/tJ/DXx6mKLNI61I10+iWvRDiSSAWcJVSThJCvAxclFL+s7FPplr2SnslDZIlty8hcUlivfePfWMsQ58ZWue2guMF5KfkEzbh6guY5yTk8N+e/8UzzJNHUx+tc9+7we/iP8CfWd/Nat4P0MGtmr+Kg58cNF139HEkakYUhz49hKHGUGfbx0883uB6CW2V2Vr2QogAYCKwoDlPpijtVfKKZBKXJOIR4sG0r6Yx/HnjnDeX+tUL0guueIxniOc1gx6M0wQIK0HUzCiObzzO9je2m06gqiiuwLFT6y/s3t5der0m/GcCd/98N10HdyVhccIVQe/g6UBNhWX24zf2AO2/gWeA3849+ogQ4m5gP/CUlLLwtw8UQswH5gMEBgZef6WKoiHfXr64dXOj8Hghu/65i3u23WNa1NsjxIPA4df/t52XYhxiueP1Hex4fQcA9h72PJTwEJUllR1uJFNruHTm9tpH1vLnwj8ze8VspEGSn5ZPXlIe3UZ0s/iZM6/ZshdCTAJypJQHfnPXf4EQoA9wDni7vsdLKT+WUsZKKWN9fNRalEr75BniycNJD+MT7cP5I+fJTcxl3t55PHb8MR5Lf4zec5u2jODlzu4/a7ocOd04jLWisIKfn/sZqZdEz4xudv0dXZdY47KPkdMisba3Rl+lpyyvDO8IbyKnRVp80EPjunGGAlOEECeBxcBoIcTXUsrzUkq9lNIAfAKYb2FPRdGAjYMNQ58dipWNFZ8O/pTd/97d7H1mH85m9fzVputTP5sKgFs3N479cIzIaZF07tO52c/T0Y18aSSd+3QmaVkS/+35X16xe4V/+v5TDVu9zDXDXkr5nJQyQEoZBMwGfpFS3iWEuHwF5elAQivVqChtRu+5vZm7cS5Ai7QWd761s871/NR8wHjWrZW1FeM/GN/s57AELn4uzD84n+lfT8fe49durx1v7NCwqralOSdVvSmE6INxLr+TwB9aoiBFaesuHZStLKls1n5qKmo4uuio6bpXuBdL71xquj594XRc/V2b9RyWRAhBrzm96DWnFzWVNbzp+SZHFh7BLdCN0a+M1ro8zTV6nD2AlDJOSjmp9vJcKWVPKWUvKeUUKeW51ilRUdqW8gLjiWP6an2z9pObmGu6HDQqiPzUfAqPG8c4jPzbyA47N7s5WNtZ81DiQwBse3WbOlcBNV2CojTZmb1nADBUG66x5dWV5paaLl9asxbgrg130X1M9/oeojSBezd3omdFc/7I+Q45ZUdTqbBXlKuQUlKYUcjZfWdJX5tO8aliU0i7dXNr1r69wr2IuS2GyOmRpu6bnnf2JOSmkGbXrRjpq/Xoq/UY9AasdE3qyOhwVNgrSgMOfXaIjc9sNM33Y+9uj1e4FzYONox7dxw9Zvdo1v49gj1MZ8Z2HdKVsvwyOvdWI29aUvikcFJWpLDvw30MfMx86xC3RSrsFaUeVaVVrH5gNb69fBnz2hj8Yv3o1KNTq62Z6xbohltg8z4pKFdy6mScZtrF/7fng1oeFfaKUg99pR5DjYHA4YH0u7+f1uUo16E0p5QNT2/ALdDNolZIa4hld2IpSgMcPB3oPbc3+/+7nwvnLmhdjnIddry5g8KMQqZ+MbXVPpG1JyrsFaUBQ58dir5ST+qqVK1LUa7D2f1n8e/vT/CoYK1LaRNU2CtKA6ouVgHGlaaU9sfazpoLZ9WnsktUn72iNODw54cBFfbt1antp6guq9a6jDZD/RUrSgOqS41BETouVONKlKbSV+upLqtm2HPDtC6lzVBhrygNKM4qpkvfLqbhe0r7UZBmXEzGO8pb40raDhX2itIAa3traiotc1Wj9s7KxhhtlcXNm6yuI1Fhryj1qC6v5mTcSbqN6KZ1Kcp1yE8xThXtGqBmDb1EHaBVlN+oLq9mw9MbqCmvIXKamnmyPdFX6znw0QG2/H0LQKPWALYUKuwV5TJSShaOXUjWziz6P9Kf7mPV7JPtRX5aPsvmLOPsvrNY2VgRPjkcna06meoSFfaKcpld/9pF1s4sxrw2hmHPqpEcbVnWriziXowjY1OG6TYHTwdmfT+LmFtjNKysbVJhryi1zu4/y8anNxI0MoihzwzVuhzlKrIPZ/P58M9x8qk7Umruxrl06dulgUdZNhX2igLkHMvhh1t/wNHHkdt/vB1hpRa7aMt2vb0LOxc7Hjr2EBXFFWRszCBsQpg6IHsVKuwVi5dzLIcFAxdg62TLnJ/mYO9uf+0HKZrJT8vnyNdH6HFHDxw8HXDwdKDffDUz6bWosFcsWl5yHt+M/wYbRxt+F/c7fKJ8tC5JuYZ9/9kHQO+7e2tcSfuiwl6xSIUnCtn6963EfxWPrbOtCvp2Ql+tZ8+/9wDgP9C/xfdfdbGK6vJqbJ1ssXG0afH9a6nRYS+E0AH7gTNSykmX3f408BbgI6XMa+jxitJWpKxK4YdbfwBg4B8HMuzPw9SUCO2AvkpP2to00/U3Pd/EydcJ70hvfHv50ndeX3x7+V7XvktOl3DgkwNs/ftW020+MT4MfHwgobeEdohVxJrSsn8cSAJMR0CEEF2Bm4BTLVyXorSaIwuPoK/U81DiQ6o13w6UF5bz0Q0fUZxZbLrtln/fgr5KT15yHvnJ+RxccJC97+9l+AvDGf1/o5u0/2PfH+PHu39EX6kHYMBjAzBUGzi1/RSr568GwCPEg6BRQfS6qxf+A/yxcWh/rf5Ghb0QIgCYCLwKPHnZXe8AzwArWr40RWkd/f7Qj+Qfk1n7yFrmrJ2jTrxpIy6ev0j2oWzsPeyResm5Q+coySqh8kKlKehHvzqauJfiOLvvLBFTInD0dqRz786UF5aTl5TH2X1nr9jv+aPnKTpZRFluGaW5pZTllZFzNIcTv5xAZ6Ojuqwa397GtYa7Du5qOkAvDZKchBxObD7ByV9OcmzxMQ4tOISLvwuzvptF4NBAs74+zSWklNfeSIglwGuAC/C0lHKSEGIKMEZK+bgQ4iQQW183jhBiPjAfIDAwsF9mZmZL1q8o1yV+YTzL717OkGeGcNMbN2ldjsWLXxjP6j+spqa84YnnZiyaQc87evL9rO9JWppU5z7Xrq4M/fNQbrj3hjqt7i1/30LcS3F1trV2sMatqxvBY4KxdrDGI9iDvvP6Ym1/9bZvWX4ZqatS2fK3LZTll/H7uN+bbUy/EOKAlDK2Wfu4VtgLISYBE6SUDwkhRgJPA7cBm4GbpZTFVwv7y8XGxsr9+/c3p15FaTFLZi/h+IbjPH3+abVGqYYuvfEGDA5g5MsjMdQYAOP0xA4eDqSuScXFz8W0vGDlhUrykvKwcbTB1tkWGycbHDwdyD2WS/KKZGrKa5AGScamDM4dOEevub0Y+NhAHH0ccfR2xNbJtln1lpwu4bOhn1FdVs28vfPwCPZo9mtwLeYK+9eAuUANYI+xz34tMBwoq90sADgLDJBSZje0LxX2SluSuCSRH279gXl75uE/oOVHdijXlr4unW/GfwPAC5UvXHeX2qU3DPh1emOfaB/6ze9H7AOxLX6SXF5KHp8O/hRnX2fu339/s99ArqUlwv6affZSyueA52qfcCTGbpyZvynkJI1o2StKW+IdaVzY4tyhcyrsNXJpycdb3rnluoN+x1s72PTMJsB4cHX8u+NbrL6GeEd4M+PrGSyauIjXXF7jydNP4uLn0urP2xxqPnvFYvnEGEfiHFl4RONKLFd5YTkAnqGe1/X4ra9sZdMzm+gxuwcvVL1glqC/JGxCGNO+mgYSfnr4J7M97/Vq0klVUso4IK6e24NaphxFMZ+KogoASnNKNa7Ecu37wHg2rEf36+v33v3ObkLHhTL96+lY6czfdu09tzdZO7M49OkhchNz8Yluu0N5VctesVjbX98OwOSPJ2tciWUqOllEXkoergGu1xWSUkr0VXq8Ir00CfpLhjw9BEO1gUUTF2lWQ2OosFcsjqHGwKJJi9j55k763t+XoJFBWpdkkba/sZ3S86XEPtj0445n9p3hg/APqLpYxZ5/7zF1B2nBM8STwGGBbf4Togp7xaJUFFXw5agvSVuTRtehXZn4n4lal2Sxhjw1BFsXWzK3ZGLQGxr1GCkl+z/az+fDPqfygnExcRtHG82npJZSoq/Wa1rDtaiJ0BSLsuLeFZzec5ppX02j91w1a6KWPEM9GfPaGNY+spb/9vwvHsEepP2Uxo0v3siNL9x4xbkP1WXVrH5gNUcWHjH109s62YIAazttoyw/JR9DdePesLSiwl6xGFJKUlenEvtArAr6NqL/Q/1x6uTE7nd2k/aTcZKzrX/fyu5/7SZweCAhN4cQOT2S0pxSVt63kpyEHEb+bSQ3vnCj5q35yzl3cW7zw3dV2CsWQxokOlsdVRertC5FqSWEIObWGGJujUFKSXlBOZlbMjnxywlO/HyC9U+sZ/0T6wFw9HZkzto5hN4SqnHVV3LxcyHnWI7WZVyVCnvFYljprOg1txcHPzlIvz/0I2BggNYlKZcRQuDo5UjUjCiiZkQBxlWpUlenYuNgQ487emDv1jZXEevUsxMZGzO4cO4CLl3a5slV6gCtYlHGvjYW1wBXFk9dTMHxAq3LUa7BK8yLwU8MJvaB2DYb9AD97u+HNEgOfXpI61IapMJesSj27vbcte4uDNUGlty+xDTplqI0h1e4FyE3h7DnvT3UVDQ8c6eWVNgrFsc70psJ/5nAuQPnOPKNmipBaRmxD8ZSllvGoc/bZutehb1ikWJui6Fzn85se3Vbo8d4K8rVREyJwCvci1/+8kubbN2rsFcskhCC4S8MpyCtgMQfErUuR+kAhJWg5109qSiqoORMidblXEGFvWKxoqZH4RPtw6ZnN1GWV3btByjKNXTu3RmAisIKjSu5kgp7xWIJK8HkBZMpySoh7uU4rctROgDXAFfAuJpVW6PCXrFoXQd3pf/D/dn34T7S16VrXY7SzqmwV5Q2bOzrY/Ht5cvSO5eSn5avdTlKO+bo7YjOVqfCXlHaIhtHG25bdhtVF6pY99g6rctR2jFhJXDxd6EkS4W9orRJniGeDHlmCOnr0olfGK91OUo71rlPZ1JXp1Ka27bmt1dhryi1Rv1tFEEjg1g9f3Wbn9RKabsG/XEQlSWV/NP3n1qXUocKe0WpZWVtxczFM7FxsmHNg2uQUmpdktIO+Q+snepYwuk9p7Ut5jIq7BXlMs6+zox9Yyyntp3iyEI1lYLSdNZ21jx34TkcPB3Y8rctbabR0OiwF0LohBCHhBCra6//nxDiiBDisBBigxDCr/XKVBTzueGeGwgYHMCGpzdourap0n7ZOtsy7C/DSF+bzoGPD7SJ6ROa0rJ/HEi67PpbUspeUso+wGrgxZYsTFG0IqwEE/87kfL8cn55/hety1HaqUF/HETwmGDWPLCGVx1epTCjUNN6GhX2QogAYCKw4NJtUsrLxxY5AW3js4qitIDOvTsz4NEB7P/ffnWwVrkuVjorpi+cbrru3NlZw2oa37L/N/AMUGd6QCHEq0KILGAODbTshRDzhRD7hRD7c3Nzm1OropjV0GeGgoTEJWqiNOX6lOcbuwG7Du2KjaONprVcM+yFEJOAHCnlgd/eJ6V8XkrZFfgGeKS+x0spP5ZSxkopY318fJpdsKKYi4ufCx4hHuQl5mlditIOFZ4oZNGkRQidYMRLI7Qup1Et+6HAFCHESWAxMFoI8fVvtlkEzGzh2hRFcx7BHhSdLNK6DKUd2vnPnVzMvsh9u+4j5KYQrcu5dthLKZ+TUgZIKYOA2cAvUsq7hBBhl202BUhupRoVRTMOng5UFLe96WqVti99bTqh40Lx7++vdSkAWDfjsa8LISIw9uNnAg+0TEmK0nbo7HToK/Val6G0M+UF5Vw4e4HwyeFal2LSpJOqpJRxUspJtZdnSil71A6/nCylPNM6JSqKdnR2ujYxRlppG7744guGDBnC0KFDOXjwYJ373nzzTQYOHMjQoUOZN2ceNZU1hI0PY9euXQwZMoQbb7yRt956y7R9RkYGkydPZvTo0dx9992tXrs6g1ZRrsLezZ6L2RfZ+8FerUtRNFZYWMh7771HXFwcX3/9NY899lid+6dPn86ePXvYsWMHZdZlnBQnSV2TymOPPcbixYvZunUrcXFxpKamAvDII4/w8ccf88svv/DVV1+1ev0q7BXlKvrc0weAtDVp2haiaG7Pnj0MHz4cW1tbgoODuXjxIpWVlab7w8IuO4xZCUIKXP1dKS4uJjAwEIDY2Fji4uLIzMykrKyMxx9/nJEjR7J06dJWr1+FvaJcRaeYTgQMDkBfrfrtLV1BQQEeHh4A5Kfm4+LkQkFBwRXbxcXFkXYwjXDXcAY+PhBvb2/i4+Opqqpi06ZNFBQUcPbsWQ4dOsQ777zDypUreemllygsbN0zbJtzgFZROrzSnFLOx5+n1929tC5F0ZCUEmc7ZzIOZPDpkE85ves0ZzudxdPTs852R44c4YkHn2BC/gRGvDUCGwcbPvnkE5566imklHTv3h0/Pz88PT3p2bMn/v7GkTp9+vQhLS2NAQMGtNrPoMJeUa7iyNdHqC6rZtAfB2ldiqKBD7+LJ+eO5Vx0s8OmqIhNbCKIIC5wAc9OntjZ2Zm2TU9P59577+WpEU9xIv0EAx8fCEBMTAzr1q2jqqqK6dOnM378eDw9PSkrK+PChQs4ODiQmJhIt27dWvVnUWGvKFdxMfsiwkrgFe6ldSmKBjb8dx99JbgWVQIO9Kc/37p9S2VxJYs/WMzhw4fZuHEjf/rTn3j88cfJPpnNi4dexNbZlr4b+jJx4kT+9a9/sWrVKgD+9Kc/cWkmgTfeeIPx48dTXV3N/fffj6+vb6v+LMKccy3HxsbK/fv3m+35FKW5vr7la4pPFfNw0sNal6Jo4KG/bsD3lV313vd8+fPkp+Vz9JujOHg5cGThEXKO5hA6LpRJH03CLdCtxeoQQhyQUsY2Zx+qZa8oDdBX68nclknf+/tqXYqikVvOlHO49rKDpwMeIR54hniSsDiBvR/u5ednf8ZQY5wf0tbZlluX3Er0zGjN6r0aFfaK0oC8pDxqymsIGBigdSmKBi6cvcDhzw8T+2Ast7xzC9Z2xrhc/9R6ADY+vZHIaZFMXjCZ6rJq7N3ssXO1u9ouNaXCXlEakL4uHYCAQSrsLZGVjXFkuoOXgynoAVOgj351NMOeHYawEtAODumosFeUehRnFbP7nd10u7EbHt09tC5H0YCh2tg9U1Ned7qMIU8NIea2GHyi2teU7eqkKkWpx493/UhFUQXj3hundSmKRtY8uAYAv9i6y2vbOtu2u6AH1bJXlCuc2n6KzK2ZjHplFJ17d9a6HMWMDDUGTu8+zd7395KyMgX3IHcip0dqXVaLUGGvKJfRV+tZ+9haXPxd1IlUFqDkTAnJy5NJ/ymdgvQCCk8UYqg2mFaXGvbssDr99e1Zx/gpFKWFxL0cR/ahbG5behu2TrZal6O0oiNfH2HlvJXoK/V4hXvh28uXyOmRdOnbheDRwTh6O2pdYotSYa8otVJWpbD9te30ubcPUTOitC5HaUUF6QWsvG8lAYMDmPS/SXhHemtdUqtTYa8owIlfTrB09lL8+vkx/r3xWpejtLL1T65HZ6dj5qKZuPi5aF2OWajROIpFk1Ky8+2dLLxpIe5B7tyx6g7VfdPBGWoMpK9Lp++8vhYT9KBa9ooFqyqtYtW8VSQsTiBqZhRTP5+KnUvbPQNSaRmlOaUYqg0tOndNe6Ba9opFytqZxSexn3Ds+2OMeW0Mt/5wqwp6C+HcxRnXAFdO/HxC61LMSrXsFYtTU1nDZ0M/w8XfhTnr5hByU4jWJSnmJAEB5YXlWldiVo1u2QshdEKIQ0KI1bXX3xJCJAshjgghfhRCuLdalYrSguJeigMgbGKYCnoLlLY2jZKsEvo/1F/rUsyqKd04jwNJl13fCPSQUvYCUoHnWrIwRWkNez/cy443dhA1M4qJ/5modTmKmZWcKeHbSd8CEH1r25yKuLU0qhtHCBEATAReBZ4EkFJuuGyT3cCsFq9OUVpQ4tJE1j6ylogpEcz8diZWOnXIyhJIKUlckkjqylRSV6cC0OfePuhsdBpXZl6N7bP/N/AM0NA4pXuB7+q7QwgxH5gPEBgY2MTyFKVlSINky8tb6NSjE7O+n2Vx/+iWqOpiFecOnePY98fY98E+HLwcCLk5hB539CByWseY76Yprhn2QohJQI6U8oAQYmQ99z8P1ADf1Pd4KeXHwMdgXJawOcUqyvWQUrL0jqXkJOQwfeH0DjPXidKwnIQcPu73MfoqPQD2HvY8ff5pi/4015i/+qHAFCHEBMAecBVCfC2lvEsI8TtgEjBGmnMxW0VppOJTxay6fxXHNxyn99296Tmnp9YlKa2s6GQRiyYuQl+lZ+rnU8mOz6bvvL4WHfTQiLCXUj5H7cHX2pb907VBPw74MzBCSlnWmkUqSlNJKTnw8QE2Pr0RKSUTPpxA7AOxCCG0Lk1pJVJK1jy4hgMfHQDg5rdvps/v+2hbVBvSnM+zHwB2wMbaf6DdUsoHWqQqRblOUkoyt2QS91IcmVszCR4TzJQFU3APcte6NKUVFWYUsmDgAsryyoh9KJaoGVEEjw7Wuqw2pUlhL6WMA+JqL4e2Qj2Kcl30VXqSfkxi7/t7ydqRhXNnZyZ9PIm+8/qq1rwFWP3Aasryyoi5PYYJH0xQv/N6qCNVSrt3Zt8ZFgxYUOc2t0A3jn5zlKPfHK1z+xUh8Nur9YVES21T64rDW7+9etn9l07pb4lWqpQS5K/7DxgcwNjXxjZ7v22BlbUV7sHuzPh6hgr6BqiwV9q9yw+8dbuxG8JKXBmoUCfo4Nqh29Lb1Amha705/ObqpVElzSaMz5W5NZPsQ9lXDXspJVIv0VfrMVQbGv+9Sm/8qtb/ernqN/fVc3+929TzVd82pTmlgHFNgqjpai2C+qiwV9q9Ln278JJ8Sesy2pWfHvmJfR/u472Q9+qGdY2hTnC3NitrK3S2OqxsjN8b/LLRYetki86j7u1Wtlam+63trQkYGNDqNbdXKuwVxQL1uKMHZXllxrC10SGsBTqb2tBtxvd6g9vmNwFt82tACyvV5WIuKuwVxQIFDg0kcKg6o92SWPZZBoqiKBZChb2iKIoFUGGvKIpiAVTYK4qiWAAV9oqiKBZAhb2iKIoFUGGvKIpiAVTYK4qiWABhzjVHhBC5QKbZnrAubyBPo+e+GlVX06i6mkbV1TRtta4IKWVDy8I2ilnPoJVS+pjz+S4nhNgvpYzV6vkboupqGlVX06i6mqYt19XcfahuHEVRFAugwl5RFMUCWFLYf6x1AQ1QdTWNqqtpVF1N02HrMusBWkVRFEUbltSyVxRFsVgq7BVFUSxAhw97IURvIcQuIcRRIcQqIYTrZfc9J4RIF0KkCCFuMXNdfYQQu4UQh4UQ+4UQA2pvtxVCfF5bb7wQYmQbqMlGCPFlbU1JQojnzFXTNeqaU3vbpS+DEKKP1nXV3ter9u/uWO3rZq91XUKIICFE+WWv1//MVdPV6rrs/kAhxEUhxNNtoS4hxIDLXqt4IcT0NlLXTUKIA7V/VweEEKMbtUMpZYf+AvYBI2ov3wv8X+3laCAesAOCgeOAzox1bQDG116eAMTVXn4Y+Lz2cifgAGClcU13AotrLzsCJ4EgrV+r32zTE8gw899WQ6+XNXAE6F173auN/G0FAQnmfI2a8nsElgI/AE+3hbpq/9atay93AXIuXde4rhsAv9rLPYAzjdlfh2/ZAxHA1trLG4GZtZenYgywSinlCSAdGFDP41uLBC59ynADztZejgZ+BpBS5gBFgLlO8mioJgk4CSGsAQegCigxU01Xq+tydwDfmq0io4bquhk4IqWMB5BS5ksp9W2gLq01WJcQYhqQARwzf1n11yWlLJNS1tTebl+7XVuo65CU8tJrdwywF0LYXXtvGr3Lm/HdcScwtfbyk8CF2ssfAHddtt2nwCwz1hUFnAKygDNAt9rb52Ns3Vhj/MRRBMzUuCYbYDGQC5QC8838O6y3rt9scxzo0RbqAv4ILATWAweBZ9pIXUG1v79DwBZgeBupywnYBTgDL2P+ln2Df1/AwNpAvQhMbyt1XbbNLGBTY/bXIRYcF0JsAjrXc9fzGLtu3hNCvAisxNgqBahvWfsWfee+Rl1jgCeklEuFELdhfLMZC3yG8Ze8H+M8QjuBmnr2Yc6aBgB6wA/wALYJITZJKTM0ruvSYwcCZVLKhJaqp5l1WQPDgP5AGfCzEOKAlPJnjes6BwRKKfOFEP2A5UKIGClli31Ku866/ga8I6W8KER9/5aa1YWUcg8QI4SIAr4UQqyVUlZoXVftY2OANzB+krw2c75Taf0FhAN7ay8/Bzx32X3rgcFmrKWYX89zEEBJA9vtBKK1rAn4EJh72XafAbe1ldcKeAf4iwZ/Tw29XrOBLy7b7q/An7Suq57t4oBYresCtmE8DnQS4yfZAuARreuqZ7vNbeH1qr0eAKQCQxu7vw7fZy+E6FT73Qp4Abg0AmElMFsIYSeECAbCgL1mLO0sMKL28mggrbZORyGEU+3lm4AaKWWiljVh/Cg5Whg5AYOAZDPVdLW6Lv1eb8XYzWRuDdW1HuhV+7u0rt3GXL/DBusSQvgIIXS1l7tj/JtvsU9n11uXlHK4lDJIShkE/Bv4h5TyA63rEkIE1/7+EEJ0w3j872QbqMsdWIOxsbqjsTvrEN0413CHEOLh2svLgM8BpJTHhBDfY/wnrAEeluY9iHY/8G7tH1MFxr56MI7AWS+EMGDsp5vbBmr6EOPrloCxhfG5lPJIG6gL4EbgtGzBLqXm1iWlLBRC/AvjSDAJ/CSlXKN1XRhfq78LIWowdss9IKUsaAN1aa2huoYBzwohqgED8JCU0pzTHzdU1yNAKPBXIcRfa2+7WRoHdDRITZegKIpiATp8N46iKIqiwl5RFMUiqLBXFEWxACrsFUVRLIAKe0VRFAugwl5RFMUCqLBXFEWxAP8PWZur9dJvQhoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plotting underused PRECINCTS\n",
    "for p in range (nPrecincts) :\n",
    "    if precinctUse[p] < 0.6 and isSkippedPrecinct[p] == 0 and vtdPop[p] > 0: #ignore suppressed precincts\n",
    "        print(p,precinctUse[p], vtdPop[p],\"pop,GOP\",vtdGOP[p])\n",
    "        pU = round(precinctUse[p],3)\n",
    "        tractX = vtdGeom[p].centroid.x\n",
    "        tractY = vtdGeom[p].centroid.y        \n",
    "        # print(t, ratio,\"(\",tractX,tractY,\")\",HDvGOP[t], \"t, pop/target,(x,y), pctR\")\n",
    "        plt.text(vtdGeom[p].centroid.x, vtdGeom[p].centroid.y,pU, fontsize=9)\n",
    "        if notPolyVTD[p] == 0 :\n",
    "            x,y = vtdGeom[p].exterior.xy\n",
    "            plt.plot(x,y)\n",
    "        else :\n",
    "            for geom in vtdGeom[p].geoms:\n",
    "                x,y = geom.exterior.xy\n",
    "                plt.plot(x,y)\n",
    "\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"purple\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 350,
   "id": "37f47a77-d58e-4b4c-be60-676819128e21",
   "metadata": {},
   "outputs": [],
   "source": [
    "# (OPTIONAL) IF WE STOPPED AND RESTARTED, read the data back in:  #NEED TO UPDATE THIS W/ANGLES, RADII\n",
    "import pandas as pd\n",
    "infilename = \"FL_nD28tol0.01nW4.csv\"\n",
    "df2 = pd.read_csv(\"state_HD_output/\"+infilename)\n",
    "HDvPop = df2[\"HD-pop\"]\n",
    "HDvHisp = df2[\"HDvHisp\"]\n",
    "HDvGOP = df2['HDvGOP']\n",
    "HDweight = df2['HDwt']\n",
    "HDarea = df2['HDarea']\n",
    "tractLoopCounter = df2['Loops']\n",
    "tractPop = df2['tractPop']\n",
    "tractCPx = df2['centroid x']\n",
    "tractCPy = df2['centroid y']\n",
    "tractUse = df2['tractUse']\n",
    "# nearEdge = df2['nearEdge']   #add this back in, PLEASE\n",
    "df2.head()\n",
    "nTracts = len(tractPop)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "e9b2c0c0-fb53-44e5-9155-1963d4833ee8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "750596.7418101031 0.1131774380110593 0.0001361943772 0.0400616118781349 0.7450137754374908\n"
     ]
    }
   ],
   "source": [
    "#  HERE'S A BLOCK TO OVERWRITE THE REDONE DATA\n",
    "for r in range(nRedos):\n",
    "    t = redo[r]\n",
    "    HDvPop[t] = redoHDvPop[r]\n",
    "    HDvGOP[t] = redoHDvGOP[r]\n",
    "    tractArea[t] = redoHDarea[r]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "c80e0880-6811-4408-b847-6d70bd2546ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt   #SKIP THIS BLOCK IF STARTING FROM FIRST BLOCK\n",
    "from scipy.stats import norm\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "id": "c8f73bb9-e36b-41c7-9220-1ec09169aa3e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# all done with redo's.  Let's look at some outputs.  First, red/blue by home district  SHOULD BE MIX OF RED AND BLUE\n",
    "nPlot = 5\n",
    "for t in range(nTracts):\n",
    "    if(t % nPlot == 0 and tractPop[t] > minTractPop):\n",
    "        redd = min(max( 0, ( HDvGOP[t] - 0.5) * 3.0 ),1)\n",
    "        bluu = min(max( 0, (0.5 - HDvGOP[t]) * 3.0 ),1)\n",
    "        plt.scatter(tractCPx[t],tractCPy[t],marker='.',color=(redd, 0,bluu ) )\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,color='green')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "id": "a5d3b510-6d1e-49ae-9a5d-03352e2b449e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "map of tracts that were used less than 0.7 of expectation in MI\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Now, where are those UNDERPERFORMING tracts (<0.x usage)\n",
    "maxPlot = 0.70\n",
    "print(\"map of tracts that were used less than {0} of expectation in {1}\".format(maxPlot, STATE) )\n",
    "for t in range(nTracts):\n",
    "    if(tractUse[t] < maxPlot and tractUse[t] > 0.05):  #ignore skipped tracts\n",
    "        redd = min(max( 0, ( HDvGOP[t] - 0.5) * 3.0 ),1)\n",
    "        bluu = min(max( 0, (0.5 - HDvGOP[t]) * 3.0 ),1)\n",
    "        plt.scatter(tractCPx[t],tractCPy[t],marker='.',color=(redd, 0,bluu ) )\n",
    "\n",
    "x,y = wholeMAP.exterior.xy   #turn these on if I pull map back in\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "id": "876011e8-d37e-44a6-8dd9-a1e4d2f51e58",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here is a map of tracts that were used more than 1.2 of expectation\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ... And where are the OVERUSED tracts?\n",
    "minPlot = 1.2\n",
    "print(\"here is a map of tracts that were used more than {0} of expectation\".format(minPlot) )\n",
    "for t in range(nTracts):\n",
    "    if(tractUse[t] >minPlot and tractUse[t] > 0.05):  #ignore skipped tracts\n",
    "        redd = min(max( 0, ( HDvGOP[t] - 0.5) * 3.0 ),1)\n",
    "        bluu = min(max( 0, (0.5 - HDvGOP[t]) * 3.0 ),1)\n",
    "        plt.scatter(tractCPx[t],tractCPy[t],marker='.',color=(redd, 0,bluu ) )\n",
    "\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "id": "19bfa7c8-0449-4182-8ed9-f5a1c1276f03",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here is a map of 0 tracts that were used more than 1.6 of expectation\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ... And where are the REALLY OVERUSED tracts?\n",
    "minPlot = 1.6\n",
    "counter = 0\n",
    "for t in range(nTracts):\n",
    "    if(tractUse[t] >minPlot and tractUse[t] > 0.05):  #ignore skipped tracts\n",
    "        redd = min(max( 0, ( HDvGOP[t] - 0.5) * 3.0 ),1)\n",
    "        bluu = min(max( 0, (0.5 - HDvGOP[t]) * 3.0 ),1)\n",
    "        plt.scatter(tractCPx[t],tractCPy[t],marker='.',color=(redd, 0,bluu ) )\n",
    "        counter +=1\n",
    "\n",
    "print(\"here is a map of {0} tracts that were used more than {1} of expectation\".format(counter, minPlot) )\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "id": "f3e9bde3-06f6-402d-bce1-62b5631e8db0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# CORRELATION OF TRACT UNDER-USAGE IN OTHER TRACT'S HOME DISTRICTS vs. being near a boundary\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(tractUse,nearEdge,marker='.' )\n",
    "ax.set(xlabel=\"tract use vs. expectation\", ylabel=\"number of unfilled wedges - max = \"+str(nWedges))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "id": "6bb5c12a-a6a4-4cb1-9026-d227bc11c2ea",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.11176379762389584 = MI std dev of TRACT usage.  Here is its weighted histogram\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR tract usage in a histogram\n",
    "n_bins=50\n",
    "avgTractUse = 0.\n",
    "statePop = np.sum(tractPop)\n",
    "for t in range(nTracts):\n",
    "    avgTractUse += tractUse[t] * tractPop[t]/statePop\n",
    "sumVarTractUse = 0.\n",
    "for t in range(nTracts):\n",
    "    sumVarTractUse += (tractUse[t]-avgTractUse)**2 *tractPop[t]/statePop\n",
    "sdTractUse = sumVarTractUse ** 0.5\n",
    "\n",
    "print(sdTractUse,\"=\",STATE,\"std dev of TRACT usage.  Here is its weighted histogram\")\n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(tractUse, bins=n_bins, weights=tractPop)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "id": "121f9869-3d25-4594-93b3-64a57a95aca8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.11312826158670193 = std dev of PRECINCT usage.  Here is its weighted histogram\n",
      "this is a histogram of PRECINCT usage by precinct for MI\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR precinct usage in a histogram  \n",
    "n_bins=50\n",
    "avgPrecinctUse = 0.\n",
    "stateVTDPop = np.sum(vtdPop)\n",
    "for p in range(nPrecincts):\n",
    "    avgPrecinctUse += precinctUse[p] * vtdPop[p]/stateVTDPop\n",
    "sumVarPrecinctUse = 0.\n",
    "for p in range(nPrecincts):\n",
    "    sumVarPrecinctUse += (precinctUse[p]-avgPrecinctUse)**2 *vtdPop[p]/stateVTDPop\n",
    "sdPrecinctUse = sumVarPrecinctUse ** 0.5\n",
    "\n",
    "print(sdPrecinctUse,\"= std dev of PRECINCT usage.  Here is its weighted histogram\")\n",
    "print(\"this is a histogram of PRECINCT usage by precinct for\",STATE)        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(precinctUse, bins=n_bins, weights=vtdPop)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "id": "f6f03dcb-c722-4789-b47f-fb7aa3be97bc",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "here's a look at numerical stability - number of loops, avg =  6.3687\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "avgTLC = 0.\n",
    "usedTracts = 0.\n",
    "for t in range (nTracts):\n",
    "    if(tractLoopCounter[t] > 0):\n",
    "        avgTLC += tractLoopCounter[t]\n",
    "        usedTracts +=1.\n",
    "avgTLC = round(avgTLC / usedTracts, 4)\n",
    "print(\"here's a look at numerical stability - number of loops, avg = \",avgTLC)\n",
    "n_bins=20     \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(tractLoopCounter, bins=n_bins)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "id": "974631b2-10ef-4847-af2e-a1e26b6fa768",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a histogram of home-district pct GOP by tract\n",
      "statewide vote is off by 1e-05 0.48587 HD avg vs true 0.48587\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR HOME DISTRICT red-blue lean in a histogram  and check the statewide vote vs. HD average\n",
    "n_bins=50\n",
    "print(\"this is a histogram of home-district pct GOP by tract\") \n",
    "print(\"statewide vote is off by\",round((stateGOP2-stateGOP),5),round(stateGOP2,5),\"HD avg vs true\",round(stateGOP,5))\n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(HDvGOP, bins=n_bins,weights=HDweight)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "720d9eb5-11e8-45f7-b402-a0048e9ddb99",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "calculated statewide Hispanic pct was 0.0441, should have been 0.04645\n",
      "this is a histogram of home-district VAP pct Hispanic by tract\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR home district pct Hispanic in a histogram\n",
    "print(\"calculated statewide Hispanic pct was {0}, should have been {1}\"\n",
    "      .format(round(stateHisp2,5), round(np.sum(tractHisp)/np.sum(tractVAP),5) ) )\n",
    "n_bins=50\n",
    "print(\"this is a histogram of home-district VAP pct Hispanic by tract\")        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(HDvHisp, bins=[0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0],\n",
    "        weights=HDweight)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "id": "1ab7704f-a226-45a9-98a6-d0684522c1eb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a bar plot of seats by VAP pct Hispanic for MI\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ALTERNATE VIEW OF HISPANIC VOTE: HOW MANY DISTRICTS PER 10pct BIN of PCT HISPANIC VOTE?\n",
    "n_bins = 20\n",
    "HispSeats = [0.]*n_bins\n",
    "binMid = [0.]*n_bins\n",
    "for b in range(n_bins):\n",
    "    binMid[b]= float(b)/n_bins + 0.5/n_bins  #centering each bin\n",
    "for t in range(nTracts) :\n",
    "    b = int(HDvHisp[t]*n_bins)\n",
    "    HispSeats[b] += HDweight[t]*nDistricts  #multiply by nDistricts to get number of expected seats\n",
    "\n",
    "print(\"this is a bar plot of seats by VAP pct Hispanic for\",STATE)        \n",
    "fig, ax = plt.subplots()\n",
    "plt.bar(binMid,HispSeats,width=0.09 )\n",
    "#plt.scatter(binMid,HispSeats )\n",
    "ax.set(xlabel=\"pct Hispanic\", ylabel=\"number of seats\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "3ef49161-368a-40a2-83ff-92187edb3462",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "using a threshold of 0.35 the number of Hisp districts should be 1.409\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Where in the state do we see Hispanic-heavy home districts?\n",
    "minHisp1 = 0.35\n",
    "minHisp2 = 0.40\n",
    "sumHispDistricts = 0.\n",
    "for t in range(nTracts):\n",
    "    if (HDvHisp[t] > minHisp1 and tractPop[t] > minTractPop):\n",
    "        sumHispDistricts += tractPop[t]/avgDistrictPop\n",
    "        if (HDvHisp[t] < minHisp2):\n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='orange' )\n",
    "        else :            \n",
    "            plt.text(tractCPx[t],tractCPy[t],'o',color='blue', fontsize= 12)\n",
    "print(\"using a threshold of\",minHisp1,\"the number of Hisp districts should be\",round(sumHispDistricts,3))\n",
    "x,y = origMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "id": "a92133ad-dc95-4aa1-af02-c1d71296cee6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a bar plot of seats by VAP pct Black for MI\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# ALTERNATE VIEW OF BLACK VOTE: HOW MANY DISTRICTS PER 10pct BIN of PCT BLACK VOTE?\n",
    "n_bins = 10\n",
    "BlackSeats = [0.]*n_bins\n",
    "binMid = [0.]*n_bins\n",
    "for b in range(n_bins):\n",
    "    binMid[b]= float(b)/n_bins + 0.5/n_bins  #centering each bin\n",
    "for t in range(nTracts) :\n",
    "    b = int(HDvBlack[t]*n_bins)\n",
    "    BlackSeats[b] += HDweight[t]*nDistricts  #multiply by nDistricts to get number of expected seats\n",
    "\n",
    "print(\"this is a bar plot of seats by VAP pct Black for\",STATE)        \n",
    "fig, ax = plt.subplots()\n",
    "plt.bar(binMid,BlackSeats,width=0.09 )\n",
    "ax.set(xlabel=\"pct Black\", ylabel=\"number of seats\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "id": "b1e9c437-ddf7-4202-aff0-19f338a5d013",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Black candidates would expect to win 2.685 MI seats out of 13\n",
      "Using simple Alabama-style of Blacks voting 0.9 Dem and whites voting 0.8 GOP\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Where in the state do we see opportunity home districts?  #NEW FORMULATION based on ALABAMA\n",
    "isOppor = [0]*nTracts #will track whether this is an opportunity district\n",
    "blackFracSeats = 0.\n",
    "blackPctDem = 0.9  #fraction of Black voters who are Democrats (est'd from Chen / Stephanopoulos)\n",
    "whitePctGOP = 0.8   #fraction of White voters who are Republican  (\"  \")\n",
    "#minBlack1 = 0.30\n",
    "#minBlack2 = 0.50\n",
    "for t in range(nTracts):\n",
    "    pctWhiteDem = (1-whitePctGOP)*(1-HDvBlack[t])  #this is the fraction of voters who are white Democrats\n",
    "    pctBlackDem = blackPctDem * HDvBlack[t]  #fraction of voters who are black Democrats\n",
    "    if tractPop[t] > minTractPop and HDvGOP[t] < 0.5 :  #Dems would win this Home District\n",
    "        if pctBlackDem > pctWhiteDem : #Blacks would win the primary\n",
    "            isOppor[t] = 1\n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='blue' )\n",
    "            blackFracSeats += HDweight[t]\n",
    "        else :  #the White Dem candidate would win the election          \n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='gray' )\n",
    "\n",
    "print(\"Black candidates would expect to win\",round(blackFracSeats*nDistricts,3),STATE,\"seats out of\",nDistricts)\n",
    "print(\"Using simple Alabama-style of Blacks voting\",blackPctDem,\"Dem and whites voting\",whitePctGOP,\"GOP\")\n",
    "x,y = wholeMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "id": "c5125128-e4bb-4337-bc5e-3f48d7cf404f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Here's the MI map with Hisp+Black greater than  0.4 or even 0.5\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Where in the state do we see Black+Hispanic heavy home districts?\n",
    "minMinor = 0.40 \n",
    "minMinor2 = 0.50\n",
    "print(\"Here's the\",STATE,\"map with Hisp+Black greater than \",minMinor,\"or even\",minMinor2)\n",
    "for t in range(nTracts):\n",
    "    if ((HDvBlack[t] + HDvHisp[t]) > minMinor and tractPop[t] > minTractPop):\n",
    "        if (HDvBlack[t] + HDvHisp[t]) > minMinor2 :\n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='blue' )\n",
    "        else :            \n",
    "            plt.scatter(tractCPx[t],tractCPy[t],marker='.',color='gray' )\n",
    "\n",
    "x,y = tractMAP.exterior.xy\n",
    "plt.plot(x,y,c=\"green\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "id": "58119ef8-13ef-4135-9843-6518025dda07",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a histogram of home-district population by tract; avg =  775178.0\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# LET'S VISUALIZE OUR HOME DISTRICT population in a histogram\n",
    "n_bins=50\n",
    "print(\"this is a histogram of home-district population by tract; avg = \",np.sum(tractPop)/nDistricts)        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "a = avgDistrictPop\n",
    "ax.hist(HDvPop, bins=[0.9*a,0.92*a,0.95*a,0.99*a,1.0*a,1.01*a,1.05*a,1.1*a])   #n_bins\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "id": "1f9101bd-108a-48cb-bee5-3f4e04c18132",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "this is a histogram of home-district area by tract\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# more HOME DISTRICT STATS in a histogram\n",
    "n_bins=50\n",
    "print(\"this is a histogram of home-district area by tract\")        \n",
    "fig, ax = plt.subplots(tight_layout=True)\n",
    "# We can set the number of bins with the *bins* keyword argument.\n",
    "ax.hist(HDarea, bins=n_bins)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "id": "d8167a80-2b91-4adc-ab34-9e010838213d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What is the correlation of HD area to red-blue lean?\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(HDarea,HDvGOP,marker='.' )\n",
    "ax.set(xlabel=\"tract area\", ylabel=\"home district pct GOP\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "id": "cf95cc7c-e58a-4174-94f6-b6d4c7ccb0ff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What is the correlation of tract usage to red-blue lean?\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(HDvGOP,tractUse, marker='.' )\n",
    "ax.set(xlabel=\"home district pct GOP\", ylabel=\"tractUse\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "id": "617384b8-1e0b-45a7-ae09-babe8dd9d429",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What is the correlation of tract usage to tract population?\n",
    "fig, ax = plt.subplots()\n",
    "plt.scatter(tractPop,tractUse, marker='.' )\n",
    "ax.set(xlabel=\"Census tract population\", ylabel=\"tractUse\")\n",
    "ax.set_xlim(left=0,right=10000)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "id": "91f163ab-6b94-47ee-bd29-be3e751fe2b4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# UPDATED VOTES-SEATS CURVE (from votes2seats.ipynb 1/15/22)\n",
    "# LET'S REWORK OUR VOTES - SEATS CALCULATIONS\n",
    "# FIRST, LET'S DO THE BASIC VOTES-TO-SEATS, no fractional seats\n",
    "# INPUTS ARE HDvGOP[nTracts] and HDweight[nTracts]\n",
    "# HDvGOP is the redness lean of each Census tract's Home District\n",
    "# HDweight is the population of this Census tract relative to the state population\n",
    "# stateGOP is the statewide fraction of GOP vote vs. GOP + Dem vote\n",
    "# KEY EQUATION:\n",
    "# expected Seats at a given vote V = sum(HDweight) for tracts with HDvGOP > 0.5 + (V - stateGOP)\n",
    "# for easy calculation, create ~1000 bins, each bin containing HD's in a dV vote window\n",
    "nBins = 1000\n",
    "dV = 1./nBins\n",
    "binWeight = [0.]*nBins\n",
    "\n",
    "for t in range(nTracts):\n",
    "    binNo = int(HDvGOP[t]*nBins)   #which vote bin does this tract's vote go into for the expected statewide vote?\n",
    "    binWeight[binNo] += HDweight[t]\n",
    "    \n",
    "binVote = [0.]*nBins  #this will store the statewide vote for this bin\n",
    "for b in range(nBins) :\n",
    "    binVote[b] = b*dV\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plt.plot(binVote, binWeight, marker='.',linestyle=\"none\")\n",
    "ax.set(xlabel=\"district pct GOP\", ylabel=\"bin weight\")\n",
    "plt.show()   #this should resemble above histogram"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "id": "85608d3f-c3bd-4d91-9378-16270ceeb9b6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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+DAjRoygT58+XHfddX6JuTQoMBGo6nc4k80HAXcB93hed/NsM6bEJH/8MZqSQm1PI/GvB0/k2B4k0K3lhQGKztGsZjPGdsl32m1GjRpFXFwcK1eupE2bNjzyyCOujlkSiaBjx448+eST53WMovBXIkhPT+epp55iwYIFLFiwgCeffJL09PQ85c6cOcOcOXNo0uTc02UTJ07kpZde4ptvvqFLly689957AIwZM4Zx48bx9ddf88UXX/g85tLC6+OjqrpfVcep6s2qepOq/llV95dUcMbAuZ7EVTu0p+pllzFnze48fQdeGNquzLQPPProo3z77bdkZOTs/fzEE08QERFBVFQUsbGxvPzyy+zZs4fIyEjefPNNFi9eTFRUFD179uTGG2/kzJkzzJgxI6vMiy++SGpqKvfeey9RUVH06NGD77//npSUFCIiIgD4xz/+kfV60qRJzJgxg7i4OO6915kfasmSJXTs2JEhQ4awbt26rNhmz55Nz5496dGjB3/961/zXFNERASHDx8GYOnSpdx1110AxMTEEBERQdeuXfnss884evQo06dP58UXXyQyMpL09PRCj+3Wli1baNGiBWFhYYSFhdGiRQt+/fXXPOWmTJnC6NGjCQo69/HXtm1bkpKSAEhMTKR+/fqkp6ezYcMGJk+eTO/evXk9s+9IeaSq+S7AjcAD2d6vBLZ5llsK2s/fS6dOndRULBlpaZo45yM9Hhenqqq3TF2qzcZ+mrXcMnVpgCNU3b59u4aFhWnv3r2zlksuuURVVd9++219/vnnc5Tv2rWrHjhwIMe6K664QlNTU1VVNT09XVU16xiqqidOnMh6/dRTT+k777yTp8zUqVN1woQJqqq6f/9+7d69u6qq9u3bVw8ePKi33HKLDh48WJOSknTAgAG6d+9eXbx4sY4aNUpVVTt16qQJCQmakZGh/fr107fffluPHj2qXbt21bNnz6qq6tChQ/XHH3/MEfsrr7yiU6ZMUVXV+++/XxctWqQ//PCDXnvttZqRkaGJiYnaunVrTU9P1+joaP3vf/+rqurq2MuWLcvxe81cFi1alKPc0qVL9Xe/+13W+9/+9re6bNmyHGWOHj2qgwYNyvN7W7dunTZt2lTbtm2rERERmpqaqnv37tWgoCBdu3atpqSk6DXXXKObNm3SsgpYrQV8rnoba+gpnAnnM1UBOgM1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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#continuing with votes-to-seats, let's compute the S(V) curve with no fractional-seat smearing\n",
    "cumVote = [0.]*nBins\n",
    "for b in range(nBins) :\n",
    "    cumVote[nBins-b-1] = np.sum(binWeight[:(b+1)])  #cumulative weight of all Home Districts below vote b*dV\n",
    "    # print(\"bin, bin vote, cumVote for this bin\",b,b*dV,cumVote[b] )\n",
    "    \n",
    "cumSeats = [0.]*nBins  #this will sum the seats earned for a given statewide vote\n",
    "stateVoteBin = int( (stateGOP+0.5*dV)*nBins )   #which bin (out of 1/dV) holds the statewide total vote?\n",
    "for b in range(nBins) :\n",
    "    bb = int( max(0,min(nBins-1,nBins/2 + b-stateVoteBin)) )\n",
    "    cumSeats[b] = 1. - cumVote[bb]\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plt.plot(binVote, cumSeats, marker='.',linestyle=\"none\")\n",
    "ax.set(xlabel=\"statewide vote, nBins =\"+str(nBins)+\",\"+str(STATE), ylabel=\"GOP seats won (no fractl smearing)\")\n",
    "RANGE = [0.1, 0.9]\n",
    "fifty50 = [0.5, 0.5]\n",
    "expected = [stateGOP, stateGOP]\n",
    "plt.plot(RANGE,fifty50)\n",
    "plt.plot(fifty50,RANGE)\n",
    "plt.plot(expected,RANGE, linestyle=\"--\",color='red')\n",
    "\n",
    "#LET'S ALSO crudely ESTIMATE RESPONSIVENESS near the STATEWIDE VOTE, with a pseudonormal weighting and lst-sq fit\n",
    "stateSigma = 0.03  #User-adjustable, this is the uncertainty in the statewide vote from election to election\n",
    "usedBins = int(stateSigma/dV)\n",
    "nFitPoints = 6*usedBins\n",
    "voteData = [0.]*nFitPoints\n",
    "seatData = [0.]*nFitPoints\n",
    "counter = 0\n",
    "for b in range(nBins):\n",
    "    if ( abs(b-stateVoteBin) <= 2*usedBins ):  #include this S-V pair in our line fit\n",
    "        voteData[counter]=binVote[b]\n",
    "        seatData[counter]=cumSeats[b]\n",
    "        counter += 1\n",
    "        # print(b,counter)\n",
    "        if ( abs(b-stateVoteBin) < usedBins) : #double count this in data set\n",
    "            voteData[counter]=binVote[b]\n",
    "            seatData[counter]=cumSeats[b]\n",
    "            counter +=1\n",
    "fit = np.polyfit(voteData,seatData,1)  #first-order linear regression with old polyfit\n",
    "Rsimple = fit[0]     #slope is fit[0] in y = mx + b, intercept is fit[1]\n",
    "y0 = fit[1]\n",
    "Rx = [stateGOP - 4.*stateSigma, stateGOP + 4.*stateSigma]\n",
    "Ry = [y0 + Rx[0]*Rsimple, y0 + Rx[1]*Rsimple]\n",
    "plt.plot(Rx,Ry ) \n",
    "ax.text(Rx[1]+0.02, Ry[1]+0.02, \"R = \"+str(round(Rsimple,4)), transform=ax.transAxes, fontsize=14,color='purple')\n",
    "expectedSeats = cumSeats[stateVoteBin]\n",
    "ax.text(0.02,expectedSeats+0.03,\"expected seats = \"+str(round(expectedSeats,3)),transform=ax.transAxes,fontsize=9)\n",
    "ax.text(stateGOP+0.01,0.1,\"HD statewide vote = \"+str(round(stateGOP2,3)),transform=ax.transAxes,fontsize=9)\n",
    "Ex = [0,stateGOP ]\n",
    "Ey = [expectedSeats, expectedSeats]\n",
    "plt.plot(Ex,Ey, linestyle='-.',color='red')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "id": "ce47266f-e2ea-4649-b10c-e8225994c122",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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wN69e2nTpg1PPvkk8+fPp3379gA8+uijtG3bFp/PxwUXXMCqVav46U9/GjJu9+7dPPLII8ybN49jjz2Wxx57jCeffJIHHniAjz/+GIBFixaRl5fH8uXLqayspKAgNLPgyJEj3HbbbXzwwQf07NmTa665xn7v0Ucf5fzzz2fKlCns2bOHQYMGceGFF3LsscfaY77++mtOOqkqHig7O5uvv/662r4//vhjvvrqK0aMGMHjjz9uXx88eDBDhgyhc+fOGGO4++677SzwL7/8kqlTp/LWW2/RoUMHnn76aXr16hX378IN1TgUpZFRvLWMB95aHbG4YXOgX79+zJs3j3HjxrFo0SLatGnjOu6NN95gwIABnH766axdu9a1R0ZRURGfffYZZ555JqeddhovvvgiW7duJS0tjZ49e7Ju3TqWLVvGvffey8KFC1m0aJFdwj3I559/To8ePejVqxciwvXXX2+/N3fuXP7whz9w2mmn2RV3t23bFjLfuJR+Cq+06/f7+fnPf84TTzxRbezGjRtZt24dJSUlfP3113zwwQd2j5GjR4+SmZnJihUruO2227jlllsi/FTjRzUORWlEBENpj1b47cSm2iYK1pZomkGqcCupHmzUFGTz5s08/vjjLF++nKysLG666Sa7TLoTYwxDhw7ltddeq/be2WefzZw5c0hPT+fCCy/kpptuwufzhTztB4lUUt0Yw/Tp0+nTp0/E/WRnZ/Phhx/ar0tKSjjvvPNCxuzfv581a9bY17/55htGjhzJrFmzmD9/PoWFhRx33HEADB8+nKKiIs455xyys7PtXiKXX345N998c8R1xItqHIrSiAiG0gaFhtD0IqPiIVJJ9VatWrF//34A9u3bx7HHHkubNm3YuXMnc+bMsec7xxUWFrJ48WI2btwIwKFDh+wGTOeccw5PPfUUgwcPpkOHDpSWlvL555+Tm5sbsp6+ffuyefNmvvzyS4AQITRs2DCeeeYZW6sImr+cDBs2jLlz51JWVkZZWRlz585l2LBhIWPatGnD7t272bJlC1u2bKGwsJBZs2aRn59P165dWbBgAZWVlVRUVLBgwQLbVHXZZZfxwQcfALBgwQJ69+5dkx95CKpxKEoDpHhrGdNXliDA6AHZrsULvR7hqvyTQt5vLriVVAe4/fbbGT58OJ07d2b+/Pmcfvrp5ObmkpOTw5lnnmnP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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#3/6/22 - alternate votes-to-seats with fractional seat smearing.\n",
    "# First, compute the general cdf sliver for -3 sigma to +3 sigma\n",
    "# Then, apply this smearing to the binVote weights\n",
    "seatVar = 0.04\n",
    "nBins = 1000\n",
    "nSigma = 6.  #how many total sigma of deviation we are explicitly modeling; the rest go into the tails\n",
    "nSlivers = 2*int(3*nBins*seatVar)  #budget for 3 sigma on either side of the expected vote\n",
    "sliverWt = [0.]*nSlivers  #each sliver holds the cdf reflecting the relative distance from the mean vote\n",
    "sliverSigma = [0.]*nSlivers\n",
    "totalSliverWt = 0.\n",
    "for nS in range(nSlivers):\n",
    "    dSigmaHigh = nSigma* (nS+0.5 - nSlivers/2) / float(nSlivers)\n",
    "    dSigmaLow =  nSigma* (nS-0.5 - nSlivers/2) / float(nSlivers)\n",
    "    sliverSigma[nS] = 0.5*(dSigmaHigh+dSigmaLow)  #for plotting; keeps track of this sliver's center sigma\n",
    "    sliverWt[nS] = norm.cdf(dSigmaHigh) - norm.cdf(dSigmaLow)\n",
    "    totalSliverWt += sliverWt[nS]\n",
    "lowSliverWt = 0.5 * (1. - totalSliverWt)\n",
    "highSliverWt = lowSliverWt\n",
    "#print(\"each tail of distribution has weight\",round(lowSliverWt,4) )\n",
    "#plt.plot(sliverSigma,sliverWt)\n",
    "#plt.show()\n",
    "# OK, that worked as expected.  Now, do the smearing of each bin\n",
    "smearedBinWeight = [0.]*nBins\n",
    "for b in range(nBins):\n",
    "    centerBinNo = b #int(HDvGOP[t]*nBins)   #which vote bin does this tract's vote go into for the expected statewide vote?\n",
    "    binOffset = int(nSlivers/2)\n",
    "    for nS in range(nSlivers):\n",
    "        binNo = centerBinNo + nS - binOffset\n",
    "        if (binNo < 0): #deep blue district; variance would push vote %R < 0\n",
    "            binNo = 0\n",
    "        if (binNo >= nBins):  #deep red district; variance would push vote %R > 1\n",
    "            binNo = nBins - 1\n",
    "        smearedBinWeight[binNo] += binWeight[b]*sliverWt[nS]\n",
    "    # Now put the tails into the correct bins\n",
    "    binNo = centerBinNo -1 - binOffset  #left tail\n",
    "    if binNo < 0:\n",
    "        binNo = 0\n",
    "    smearedBinWeight[binNo] += binWeight[b]*lowSliverWt\n",
    "    binNo = centerBinNo + nSlivers - binOffset  #right tail\n",
    "    if binNo >= nBins:\n",
    "        binNo = nBins -1 \n",
    "    smearedBinWeight[binNo] += binWeight[b]*highSliverWt\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plt.plot(binVote, binWeight, marker='.',linestyle=\"none\",label=\"unsmeared\")\n",
    "plt.plot(binVote, smearedBinWeight, marker='o',linestyle=\"none\",label=\"smeared\")\n",
    "RANGE = [0.0, 0.5*np.max(binWeight)]\n",
    "sGOP = [stateGOP, stateGOP]\n",
    "plt.plot(sGOP,RANGE,linestyle=\"-\",label=\"statewide \"+str(round(stateGOP,3)) )\n",
    "ax.set(xlabel=\"district pct GOP\", ylabel=\"bin weight\")\n",
    "plt.legend()\n",
    "plt.show()   #this should resemble above histogram"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "id": "8a2d7de3-ea93-4447-bb69-36defbae38df",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAAA+tElEQVR4nO3dd3yT5fr48c/VtGXIUhCPUBSQDYWyURw4ECduRcXNQUSPh6MHOSoqTtzj5wBRETcIYkHBgYMvKkoFy1RoUUGKC1BARUbT6/fH86RktU3bpGnS6/165ZU8I8mdUHI997puUVWMMcbUXCnxLoAxxpj4skBgjDE1nAUCY4yp4SwQGGNMDWeBwBhjarjUeBegvJo0aaItW7aMdzGMMSahLFmyZLOq7h/uWMIFgpYtW7J48eJ4F8MYYxKKiKwv6Zg1DRljTA1ngcAYY2o4CwTGGFPDJVwfQTh79uyhoKCAnTt3xrsopgy1a9cmIyODtLS0eBfFGONKikBQUFBA/fr1admyJSIS7+KYEqgqW7ZsoaCggFatWsW7OMYYV8wCgYhMBk4BflXVLmGOC/AYcBKwA7hUVb+qyHvt3LnTgkACEBEaN27Mpk2b4l0UY8plbPYKXv7ih3gXA4DUFOHBc7pxevfm0XvNqL1SqCnAE8CLJRw/EWjr3voCE9z7CrEgkBjs38lUB888cgvH//YqTeV3UimiyO0uTXEfFyGkoMXbtwC3pYc/VtrzynNuWccA8jWDWwsv4z/TnKzR0QoGMQsEqrpARFqWcsppwIvq5MH+QkQaiciBqvpTrMpkjKlZXrv7Mk7eNYc67C7+QfXgZZgQNFTGW8LjaB2Lzut0lvW8nn4H5+6+lQfeqxO1QBDPUUPNgQ1+2wXuvhAiMlxEFovI4urarPDuu+/Svn172rRpw7333hv2HFXl2muvpU2bNnTt2pWvvgpsCfN6vXTv3p1TTjmlKopsTFIZm72CM298hJVju7Lr1v0ovLUhQ3bPpL7sIlWUdPGSLl48bqVUJDFvHorol/INP279O2rfXTw7i8O1EYRdJUdVJwGTAHr16lXplXSyczfywHtr+HHr3zRrVIfRg9pXKrJ6vV6uvvpq5s2bR0ZGBr1792bw4MF06tQp4Lx33nmH/Px88vPzWbRoEVdddRWLFi0qPv7YY4/RsWNHtm/fXuGyxEJhYSGpqUkxrsAkEf92+xs8r3KDZx7103eFnFdaa2QirsvlJYUvijrSrFGdqL1mPP93FwAt/LYzgB9j/abZuRu5ceYK/t7jVLc2bv2bG2euACre3paTk0ObNm1o3bo1AEOGDGHWrFkhgWDWrFlcfPHFiAj9+vVj69at/PTTTxx44IEUFBQwZ84cbr75Zh5++OGw7zN9+nRuv/12PB4PDRs2ZMGCBUyZMoXs7Gy8Xi8rV67k+uuvZ/fu3bz00kvUqlWLuXPnst9++/Htt99y9dVXs2nTJurWrcszzzxDhw4deOutt7jrrrvYvXs3jRs35pVXXuGAAw5g3Lhx/Pjjj6xbt44mTZrw6quvVui7MSaaLnzmcz779jeGpHzIVZ5Z3Ji+jXQKSZW9v+jBP/yl/dgrUKSCt5Lt91XdR5Cr7XhkUPvKfp3F4hkIZgPXiMhUnE7ibVXRP/DAe2uKg4DP33u8PPDemgoHgo0bN9Kixd6YlpGREXClX9p5Gzdu5MADD2TUqFHcf//9/PHHHyW+zx133MF7771H8+bN2bp1a/H+lStXkpuby86dO2nTpg333Xcfubm5/Oc//+HFF19k1KhRDB8+nIkTJ9K2bVsWLVrEyJEj+eijjzj88MP54osvEBGeffZZ7r//fh566CEAlixZwqeffkqdOtG78jCmPLJzN3LdtKUUuds3eF5lUvp71JU9Ief6B4DgH3+vghcP4PzY7iaNFdqa+wuH8JW2i1HpYyM1RXjk3AQZNSQirwEDgCYiUgDcBqQBqOpEYC7O0NG1OMNHL4tVWfyV1K5Wmfa2cOs+hxsdU9J5b7/9Nk2bNqVnz57Mnz+/xPfp378/l156Keeeey5nnnlm8f6jjz6a+vXrU79+fRo2bMipp54KQGZmJsuXL+fPP/9k4cKFnHPOOcXP2bXLqUIXFBRw3nnn8dNPP7F79+6A8f2DBw+2IGCqnP+Pfw/J49XUqWSmfEst9hS370P4Jh///2KFKvxFXV71Hs393guiVr5YDN+Mt1iOGjq/jOMKXB2r9y9Js0Z12BjmR78y7W0ZGRls2LC337ugoIBmzZpFfN6MGTOYPXs2c+fOZefOnWzfvp2hQ4fy8ssvBzx/4sSJLFq0iDlz5pCVlcXSpUsBqFWrVvE5KSkpxdspKSkUFhZSVFREo0aNis/3969//YvrrruOwYMHM3/+fMaNG1d8bJ999qnI12FMuWXnbmT09KXsKXKu+pekf8Q+7CRNikLOLe3KX4FftRGPFp7F1KJjI3rv/ofsxyv/PLQSpU98Na4HcPSg9gF9BAB10jyMrkR7W+/evcnPz+f777+nefPmTJ06NWyb+uDBg3niiScYMmQIixYtomHDhhx44IGMHz+e8ePHAzB//nwefPDBkCAA8O2339K3b1/69u3LW2+9FRBUStOgQQNatWrF9OnTOeecc1BVli9fTrdu3di2bRvNmztXNi+88EKFvwNjKsLX5n+D51WWpM6jLrsCrvqh7Db/PZrCLtJZpS1LbeqxH/yS1bhA4KvORXPUUGpqKk888QSDBg3C6/Vy+eWX07lzZ8C5igcYMWIEJ510EnPnzqVNmzbUrVuX559/vlzvM3r0aPLz81FVjj32WLp16xb2Kj+cV155hauuuoq77rqLPXv2MGTIELp168a4ceM455xzaN68Of369eP7778vV5mMKS//0T4PpT7JlPSFAZ29ENmP/8805qnCwWGv/GulpnDfWV2TqvkmliRcu3V11qtXLw1emOabb76hY8eOcSqRKS/796qZBj48n/xf/wJgSMqH3Ox5iXopu4uPl9bkA06H79/U5iXvcSFt/vbDXzYRWaKqvcIdq3E1AmNM1Qke6z80PbT5xxcAwo30KSKF32gQts3fmnqixwKBMSbq/Mf7f542g/1lW4lt//4BoLSrfoCh/Q7irtMzY1jymskCgTEmanzNPz0kjw9TJ9La83PA8ZLa/nerh+e8J9qPf5xYIDDGVIpv6OdZfMiznln8I/030v2GfZY13PNNb3+uLwwcSW7NPlXLAoExpkKyczfy0uuvM9ozlZWpeQE//lByAPAq7CI9ZGZv26b7MO+6AVVQchPMAoExplzGZq+gMOd5/u2ZwWnp2wKOldT0o8Dfms4L3uMDmn9qpabwqI32iTsLBMaYiIzNXsHXiz7gAc9EWqftbfsva8z/d0UHMLrwqoCJXtb0U71YIKjBLL20iUR27kZGTVvKDZ5XuSP97eL88SU1/Sjg1RS2hBn2aR2/1VPN/RXYkAPrPoGWR0CLPpV6qXXr1nHiiSdy+OGHs3DhQpo3b86sWbOoU6cOS5cuZcSIEezYsYNDDjmEyZMns++++wY839JLm+rIP/nbQ6lPcqbnM6DkAFCoKazRFtxaeJld/SeYeK5QFj8bcuCFwfDR3c79hpxKv2R+fj5XX301q1atolGjRrzxxhsAXHzxxdx3330sX76czMxMbr/99pDn+tJLL1u2jNmzZxfvX7lyJa+++io5OTncfPPN1K1bl9zcXA499FBefNFZCnr48OE8/vjjLFmyhAcffJCRI0cCFKeXzs3NZciQIdx///3Fr7tkyRJmzZplQcCUqO/d8xg1bSlZkseHqdeFBAHVvUHgN63HjXuuoO3ulzllz/jiIND/kP1Yd+/JFgQSQM2sEaz7BLy7Qb3O/bpPKl0raNWqFVlZWQD07NmTdevWsW3bNrZu3cpRRx0FwCWXXBKQCtrH0ksnh5/vuQeAf9x0U5xLUnH+SeAuCcr7HzwB7DetxwOF59mM3yRQMwNByyPAk+4EAU+6s11J/qmgPR4Pf/8d+foGll46Oez6ZnW8i1Bhvo7gGzxTmZyeV+Y8gJlhxv5b+3/iqplNQy36wCWz4ZibnftK1gZK0rBhQ/bdd18++eQTAF566aXi2oE/X3rpO+64gyZNmlQovTQ4C98sW7YMwNJLx9qDDzq3BJedu5GW/5tD98VjeCN9HH09q4uDgG+xdNjbFKTAhMJTAoLA0H4Hse7eky0IJLCaWSMA58c/RgHA3wsvvFDcWdy6deuwqactvXQCevtt5/6//41vOSrBlw7ijdSx9PB8B5Q+C9h/GKgAj5yXZeP/k4SloTZVLin+vQYMcO79lhZdf9HFABz80otVX55y8A0HDU4FXVISuM0ErvhlTUCJydJQG2MAuPb+iVyw/Xm+Sc+ntuxdpU8kMADs0lQme08ImAVsASB5WSAwpoYYMvZRXvbchsezd19wLSBcALBRQMnPAoExFZFAw2+zn72b7usn83LKZjyUnBJijbcZJxTu7QA/oH46i24eWHUFNXFjgcCYinjnnXiXICIv3H4xFxfNChkfGJwS4v+8mVxWeGPxPmsGqlksEBiTpGbfdjIX8ykQfjTQbvWQq20DUkFbM1DNZIHAmIq4807n/pZb4luOMHLffIRWX93LqSk7gfCjgb7ytuaswruKt1MEHj7XhoPWVDVzQlmMvPvuu7Rv3542bdpw7733hhyfP38+DRs2JCsri6ysLO64446A416vl+7du3PKKacU71u2bBmHHnoomZmZnHrqqWzfvj3mnyNaLr30UmbMmBHvYsTGhx86t2om955jyFo6joYlBIEdms6EwlMCgsDQfgfx3fiTLQjUYFYjiBKv18vVV1/NvHnzyMjIoHfv3gwePJhOnToFnHfEEUfwtm8yUpDHHnuMjh07BvzYDxs2jAcffJCjjjqKyZMn88ADD3Cn72o0DrxeLx7/YSemetiQwy/PnUeW/gaErwUEp4Wo7RFW331SVZbSVFNWI4iSnJwc2rRpQ+vWrUlPT2fIkCHMmjUr4ucXFBQwZ84chg0bFrB/zZo1HHnkkQAMHDiwOKvpqlWr6NOnD1lZWXTt2pX8/HzWrVtHhw4dGDZsGF26dOHCCy/kgw8+oH///rRt25acHCfL6l9//cXll19O79696d69e3E5161bxxFHHEGPHj3o0aMHCxcuBJyazNFHH80FF1xAZmYmXq+X0aNH07t3b7p27crTTz8NOCkurrnmGjp16sTJJ5/Mr7/+Wrkv1URm3m0UPTeQpiUEge1amxv3XBEQBNo23ceCgCmWlDUC36RPf+eeCyNHwo4dcFKYv/9LL3VumzfD2WcHHvObPFqijRs30qJFi+LtjIwMFi1aFHLe559/Trdu3WjWrBkPPvggnTt3BmDUqFHcf//9/PHHHwHnd+nShdmzZ3Paaacxffr04jxEEydO5N///jcXXnghu3fvxuv18ssvv7B27VqmT5/OpEmT6N27N6+++iqffvops2fP5p577iE7O5u7776bY445hsmTJ7N161b69OnDcccdR9OmTZk3bx61a9cmPz+f888/H98s7pycHFauXEmrVq2YNGkSDRs25Msvv2TXrl3079+f448/ntzcXNasWcOKFSv45Zdf6NSpE5dffnnZX56puBfPQL/9CCF8LWB+0GggsBFBJlRSBoJ4CJeqQ4IGbPfo0YP169dTr1495s6dy+mnn05+fj5vv/02TZs2pWfPnswPijqTJ0/m2muv5Y477mDw4MGkp6cDcOihh3L33XdTUFDAmWeeSdu2bQEnHXZmpvOfvHPnzhx77LGICJmZmaxbtw6A999/n9mzZ/OgmzRt586d/PDDDzRr1oxrrrmGpUuX4vF4yMvLKy5Hnz59ilNZv//++yxfvry4/X/btm3k5+ezYMECzj//fDweD82aNeOYY46p5LdajTVuHO8SwKRj0I1LgPC1gPGFFwakiLb8QKYkSRkISruCr1u39ONNmkRWAwiWkZERkDW0oKCAZs2aBZzToEGD4scnnXQSI0eOZPPmzXz22WfMnj2buXPnsnPnTrZv387QoUN5+eWX6dChA++//z4AeXl5zJkzB4ALLriAvn37MmfOHAYNGsSzzz5L69aty0xdDU7QeuONN2jfvn1A+caNG8cBBxzAsmXLKCoqonbt2sXH/FNXqyqPP/44gwYNCnj+3LlzQ4Jf0nKb6OLmxTNKDALBI4LAJoeZ0lkfQZT07t2b/Px8vv/+e3bv3s3UqVMZPHhwwDk///xzcc0hJyeHoqIiGjduzPjx4ykoKGDdunVMnTqVY445hpdffhmguJ29qKiIu+66ixEjRgDw3Xff0bp1a6699loGDx7M8uXLIy7roEGDePzxx4vLkpubCzhX9gceeCApKSm89NJLeL3eEp8/YcIE9uxxFi3Jy8vjr7/+4sgjj2Tq1Kl4vV5++uknPv7444jLZCK35uXr0G8/AvbmCPKliJ7p7R8SBNo23ceCgClVTAOBiJwgImtEZK2I/C/M8YYi8paILBORVSJyWSzLE0upqak88cQTDBo0iI4dO3LuuefSuXNnJk6cyMSJEwGYMWMGXbp0oVu3blx77bVMnTq1zCvo1157jXbt2tGhQweaNWvGZZc5X9G0adPo0qULWVlZrF69mosvvjjist5yyy3s2bOHrl270qVLF25xx8KPHDmSF154gX79+pGXl1fiAjbDhg2jU6dO9OjRgy5dunDllVdSWFjIGWecQdu2bcnMzOSqq64Ku/ZC0rjxRudWxXLffIS2+c8BgYnifizal7N3jwtZLKb/Ifsx77oBVVxKk2hiloZaRDxAHjAQKAC+BM5X1a/9zrkJaKiqY0Rkf2AN8A9V3V3S61oa6sSXFP9e8UhDvSEH77MDSSGwOWhL0T702vNMyOmPWn+A8VNaGupY1gj6AGtV9Tv3h30qcFrQOQrUF+eyuB7wG1AYwzIZk7C+fnZYSBAAeNA7JORcCwKmPGIZCJoD/msuFrj7/D0BdAR+BFYA/1bVoqBzEJHhIrJYRBZv2rQpVuU1ptoad9t/6cj64m3/tYODRwZZEDDlFctRQ+Eav4PboQYBS4FjgEOAeSLyiaoG5FFQ1UnAJHCahqJfVGOqr753z2OuvgYS2C8QPFO4QS0Py28/IU6lNIksljWCAqCF33YGzpW/v8uAmepYC3wPdIhhmYyJjowM5xZjAx+ez1N/38B+8mfA/p+LGloQMFETyxrBl0BbEWkFbASGABcEnfMDcCzwiYgcALQHvothmYyJDnd4bywNfHg+I367P2BheV9t4DHv3unvFgRMZcUsEKhqoYhcA7wHeIDJqrpKREa4xycCdwJTRGQFTlPSGFXdHKsyGZMoBj48n56bZ3NG2mdAYBCY780s7hewIGCiIabzCFR1rqq2U9VDVPVud99ENwigqj+q6vGqmqmqXVQ19pdZMVJWCmooPQ31Y489RpcuXejcuTOPPvpoFZXaVNioUc4tBi585nPqb8rl7rTninMI+c8a9s8dZEHARENSppioapGmoIbwaahXrlzJM888Q05ODunp6ZxwwgmcfPLJxfmDEo2qoqqkpCTxxPWlS2Pystm5G/ns2994O+35gKGi4PQL+M8afvS8rJiUwdQ8Sfw/tepUNgX1N998Q79+/ahbty6pqakcddRRvPnmmwAMGDCAMWPG0KdPH9q1a8cnn3wCOIniLrvsMjIzM+nevXvYdA4//fQTRx55JFlZWXTp0qX4ufXq1WPMmDH07NmT4447jpycHAYMGEDr1q2ZPXs2QImppv/880+OPfZYevToQWZmZkAK644dOzJy5Eh69OgRkHfJRO6615cyJOVDOqeEDhX17xcY2u8gGyJqoiY5awQfDAjdd9C50G4kFO6A+WHyULe+1Lnt3AyfBuWhPm5+qW8XaQpqCJ+GukuXLtx8881s2bKFOnXqMHfuXHr12jsBsLCwkJycHObOncvtt9/OBx98wJNPPgnAihUrWL16Nccffzx5eXkBieJeffVVBg0axM0334zX62XHjh2Asx7BgAEDuO+++zjjjDMYO3Ys8+bN4+uvv+aSSy5h8ODBPPfcc2FTTbdo0YI333yTBg0asHnzZvr161ecU2nNmjU8//zzPPXUU6V+Xya8rre9S5HCqDQnoZ1/bWCV9+DifgFLI22iLTkDQRWLJAU1lJyGumPHjowZM4aBAwdSr149unXrRmrq3n+aM888E4CePXsWp5L+9NNP+de//gVAhw4dOPjgg8nLy6Nr167Fz+vduzeXX345e/bs4fTTTycrKwuguPkJIDMzk1q1apGWlhaSqjpcqumMjAxuuukmFixYQEpKChs3buSXX34B4OCDD6Zfv36V+CZrroEPz2f7Li9vpI7lANlavF8VioBbvU6OKQsCJhaS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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#continuing with votes-to-seats, let's compute the S(V) curve with no fractional-seat smearing\n",
    "smearedBinVote = [0.]*nBins  #this will store the statewide vote for this bin\n",
    "cumSmearedVote = [0.]*nBins\n",
    "for b in range(nBins) :\n",
    "    smearedBinVote[b] = b*dV\n",
    "    cumSmearedVote[nBins-b-1] = np.sum(smearedBinWeight[:(b+1)])  #cumulative weight of all Home Districts below vote b*dV\n",
    "    # print(\"bin, bin vote, cumVote for this bin\",b,b*dV,cumVote[b] )\n",
    "    \n",
    "cumSmearedSeats = [0.]*nBins  #this will sum the seats earned for a given statewide vote\n",
    "stateVoteBin = int( (stateGOP+0.5*dV)*nBins )   #which bin (out of 1/dV) holds the statewide total vote?\n",
    "for b in range(nBins) :\n",
    "    bb = int( max(0,min(nBins-1,nBins/2 + b-stateVoteBin)) )\n",
    "    cumSmearedSeats[b] = 1. - cumSmearedVote[bb]\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "plt.plot(smearedBinVote,cumSmearedSeats, marker='o',linestyle=\"none\",label=str(seatVar)+\" smear\")\n",
    "plt.plot(binVote, cumSeats, marker='.',linestyle=\"none\",label=\"no smear\")\n",
    "ax.set(xlabel=\"true \"+STATE+\"-wide vote=\"+str(round(stateGOP,4))+\", nBins =\"+str(nBins), ylabel=\"GOP seats won\")\n",
    "RANGE = [0.1, 0.9]\n",
    "fifty50 = [0.5, 0.5]\n",
    "expected = [stateGOP, stateGOP]\n",
    "expectedSeats = cumSeats[stateVoteBin]\n",
    "expectedS = [expectedSeats,expectedSeats]\n",
    "smearedSeats = cumSmearedSeats[stateVoteBin]\n",
    "smearedS = [smearedSeats,smearedSeats]\n",
    "plt.plot(RANGE,fifty50)\n",
    "plt.plot(fifty50,RANGE)\n",
    "plt.plot(RANGE,smearedS, linestyle=\"--\",color='blue',label=str(round(smearedSeats,3))+\"smeared\")\n",
    "plt.plot(RANGE,expectedS, linestyle=\"--\",color='orange',label=str(round(expectedSeats,3))+\"no smear\")\n",
    "plt.plot(expected,RANGE, linestyle=\"--\",color='red')\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "id": "597b7758-4f83-40f7-8909-4946e64267ad",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "simpler and fractional-seat-smeared (var of 0.04 ) responsiveness are 3.952 3.638\n",
      "fractional expected GOP seats =  7.14  out of  13 seats for MI\n",
      "simpler expected GOP seats =  7.6726  out of  13 seats\n"
     ]
    }
   ],
   "source": [
    "#Finally, let's compare responsiveness using smeared (fractional seat variance) to non-smeared calculated above\n",
    "#LET'S ALSO crudely ESTIMATE (smeared) RESPONSIVENESS near the STATEWIDE VOTE, as we did for non-smeared\n",
    "stateSigma = 0.03  #User-adjustable, this is the uncertainty in the statewide vote from election to election\n",
    "usedBins = int(stateSigma/dV)\n",
    "nFitPoints = 6*usedBins\n",
    "voteData = [0.]*nFitPoints\n",
    "seatData = [0.]*nFitPoints\n",
    "counter = 0\n",
    "for b in range(nBins):\n",
    "    if ( abs(b-stateVoteBin) <= 2*usedBins ):  #include this S-V pair in our line fit\n",
    "        voteData[counter]=smearedBinVote[b]\n",
    "        seatData[counter]=cumSmearedSeats[b]\n",
    "        counter += 1\n",
    "        # print(b,counter)\n",
    "        if ( abs(b-stateVoteBin) < usedBins) : #double count this in data set\n",
    "            voteData[counter]=smearedBinVote[b]\n",
    "            seatData[counter]=cumSmearedSeats[b]\n",
    "            counter +=1\n",
    "fit = np.polyfit(voteData,seatData,1)  #first-order linear regression with old polyfit\n",
    "Rsmeared = fit[0]     #slope is fit[0] in y = mx + b, intercept is fit[1]\n",
    "y0 = fit[1]\n",
    "\n",
    "print(\"simpler and fractional-seat-smeared (var of\",seatVar,\") responsiveness are\",round(Rsimple,3) ,round(Rsmeared,3) )   \n",
    "print(\"fractional expected GOP seats = \",round(nDistricts*smearedSeats,3),\" out of \",nDistricts,\"seats for\",STATE)\n",
    "print(\"simpler expected GOP seats = \",round(nDistricts*expectedSeats,4),\" out of \",nDistricts,\"seats\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "86f82727-7193-4194-aa61-2b99408dbcb6",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
